- Posts no fórum: 1
07/10/2016, 03:20:40 via Web
07/10/2016 03:20:40 via Web
Estou tentando por endereço url pegar uma imagem e transformar em bitmap e colocar num array list view jutamente com outros dados. Mas minha função getBitmapFromURL sempre traz return null, entrando no erro. Ja fiz projeto do zero seguinte tutorial da internet, mas parece que visual studio não está processando essa função, sempre retorna erro.
Abaixo o código:
private void createListView(String[][] a, int tamanho) {
//Criamos nossa lista que preenchera o ListView
itens = new ArrayList();
ImageView iv;
Bitmap bitmap = null;
try {
Bitmap img = null;
for(int i = 0; i < tamanho; i++){
bitmap = getBitmapFromURL();
ItemListView item1 = new ItemListView(a[i][1], "R$ "+format((a[i][2])), bitmap);
itens.add(item1);
}
//Cria o adapter
adapterListView = new AdapterListView(this, itens);
//Define o Adapter
listView.setAdapter(adapterListView);
//Cor quando a lista é selecionada para ralagem.
listView.setCacheColorHint(Color.TRANSPARENT);
} catch (Exception e) {
e.printStackTrace();
}
}
public Bitmap getBitmapFromURL() {
Bitmap img = null;
InputStream input = null;
try {
URL url = new URL(imagem_internet);
HttpURLConnection conexao = (HttpURLConnection)url.openConnection();
input = conexao.getInputStream();
// Toast.makeText(this, "Você Clicou em: " , Toast.LENGTH_LONG).show();
img = BitmapFactory.decodeStream(input);
} catch (Exception e) {
Toast.makeText(this, "Você Clicou emfdsfdsfdsf: "+img , Toast.LENGTH_LONG).show();
// TODO: handle exception
e.printStackTrace();
return null;
}
Toast.makeText(this, "Você Clicou em: "+img , Toast.LENGTH_LONG).show();
return img;
}
AdapterListView
public View getView(int position, View view, ViewGroup parent)
{
//Pega o item de acordo com a posção.
ItemListView item = itens.get(position);
//infla o layout para podermos preencher os dados
view = mInflater.inflate(R.layout.item_listview, null);
//atravez do layout pego pelo LayoutInflater, pegamos cada id relacionado
//ao item e definimos as informações.
((TextView) view.findViewById(R.id.text)).setText(item.getTexto());
((TextView) view.findViewById(R.id.text2)).setText(item.getTexto2());
((ImageView) view.findViewById(R.id.imagemview)).setImageBitmap(item.getIconeRid());
return view;
}
ItemListView
public class ItemListView {
private String texto, texto2;
private Bitmap iconeRid = null;
public ItemListView(String texto, String texto2, Bitmap iconeRid)
{
this.texto2 = texto2;
this.texto = texto;
this.iconeRid = iconeRid;
}
public Bitmap getIconeRid()
{
return iconeRid;
}
public void setIconeRid(Bitmap iconeRid)
{
this.iconeRid = iconeRid;
}
public String getTexto()
{
return texto;
}
public void setTexto(String texto)
{
this.texto = texto;
}
public void setTexto2(String texto2)
{
this.texto2 = texto2;
}
public String getTexto2()
{
return texto2;
}
}
Conteúdo editorial recomendado
Com o seu consentimento, o conteúdo externo é carregado aqui.
Ao clicar no botão acima, concorda que o conteúdo externo poderá ser-lhe exibido. Os dados pessoais podem ser transmitidos a fornecedores terceiros no processo. Pode encontrar mais informações sobre isto no nosso Política de Privacidade.