Saltar al contenido

Picasso no funciona con Recycler View en android

Esta es la contestación más completa que encomtrarás compartir, pero estúdiala pausadamente y valora si se puede adaptar a tu proyecto.

Solución:

¿Has visto este artículo? Se trata de RecyclerView. Autor utiliza Picasso en adaptador.

@Override
public void onBindViewHolder(FeedListRowHolder feedListRowHolder, int i) 
    FeedItem feedItem = feedItemList.get(i);

    Picasso.with(mContext).load(feedItem.getThumbnail())
            .error(R.drawable.placeholder)
            .placeholder(R.drawable.placeholder)
            .into(feedListRowHolder.thumbnail);

    feedListRowHolder.title.setText(Html.fromHtml(feedItem.getTitle()));

Tuve el mismo problema cuando quería cargar una imagen desde su URL con API en RecyclerView.Adapter y RecyclerView.ViewHolder extendidos.

En primer lugar, debe verificar que la URL no esté vacía o null y luego cargarlo con Picasso.

@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) 
      RssItem item = rssItems.get(i);
      if(item.imageLink!=null && !item.imageLink.isEmpty()) 
          Picasso.with(F.context)
              .load(item.imageLink)
              .placeholder(R.drawable.default_placeholder)
              .error(R.drawable.error_placeholder)
              // To fit image into imageView
              .fit()
              // To prevent fade animation
              .noFade()
              .into(viewHolder.postImage);
      else   
          viewHolder.postImage.setImageDrawable(ContextCompat.getDrawable(F.context,R.drawable.default_placeholder));
     
     viewHolder.postTitle.setText(item.title);
     viewHolder.postAuthor.setText(item.postWriter);
     viewHolder.postDate.setText(item.pubDate);

Por fin debes ser consciente de viewHolder.postImage y como se encuentra. Puede ser null o no se encontró la vista por id correctamente.

use solo un código simple:

 @Override
    public void onBindViewHolder(ShivaViewholder holder, int position) 
    Picasso.get().load("http://i.imgur.com/DvpvklR.png").into(holder.imageView2);
    

Pero si también desea la imagen en el ícono, o desea la ubicación, usaremos algún código adicional en este código.

Te mostramos las reseñas y valoraciones de los usuarios

Si conservas algún titubeo y capacidad de mejorar nuestro escrito puedes dejar una referencia y con mucho gusto lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *