Imagem url Http

  • Respostas:0
Edivaldo Silva Souza
  • Posts no fórum: 1

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;
}

}

Responder