GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Carregar Imagens do Storage (Firebase) em um ListView (Customizado)

android
firebase
Tags: #<Tag:0x00007fbf1c3ca3b0> #<Tag:0x00007fbf1c3ca248>

#1

Bom dia Pessoal!

Contexto:

Tenho uma tela de cadastro que carrega uma imagem do celular e faz upload para o storage(firebase) e salva os dados no database(firebase), juntamente com a url da foto.
Ex:

Tenho outra tela onde exibo a lista das pessoas cadastradas com seus dados em um ListView(Customizado).
Ex:

No Banco de Dados, fica assim:

E pra pegar os dados do banco eu faço:

StorageReference dbContatos = FirebaseDatabase.getInstance().getReference().child("contatos");

@Override
    protected void onStart() {
        super.onStart();

        dbContatos.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                contatos.clear();
                for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                    Contato c = postSnapshot.getValue(Contato.class);
                    Log.i("URL FOTO", c.getContatoUrlFoto());
                    contatos.add(c);
                }
                ContatoAdapter contatoAdapter = new ContatoAdapter(VisualizarActivity.this, contatos);
                listViewContatos.setAdapter(contatoAdapter);
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

Até ai beleza!, chega tudo direitinho, conforme eu solicitei :wink:

Lá no ContatoAdapter eu recebo e utilizo o Picasso pra pegar essa imagem.

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = context.getLayoutInflater();
        View listViewItem = inflater.inflate(R.layout.item_lista, null, true);

        ImageView imgItemFoto = (ImageView) listViewItem.findViewById(R.id.imgItemFoto);
        TextView txtItemNome = (TextView) listViewItem.findViewById(R.id.txtItemNome);
        TextView txtItemIdade = (TextView) listViewItem.findViewById(R.id.txtItemIdade);

        Contato c = contatos.get(position);
        Log.i("URL FOTO ADAPTER", c.getContatoUrlFoto());

        Picasso.with(context).load(c.getContatoUrlFoto())
                .resize(100, 100)
                .centerCrop()
                .into(imgItemFoto);

        txtItemNome.setText(c.getContatoNome());
        txtItemIdade.setText(c.getContatoIdade());

        return listViewItem;
   }

Problema:

Não está trazendo as imagens… :weary:

Alguma ideia de como posso resolver isso?

Desde já agradeço a atenção!