Recyclerview Adapter and Glide - same image every 4-5 rows
Maybe you need to try something like this
.signature(new StringSignature(String.valueOf(System.currentTimeMillis())))
sample :
Glide.with(context)
.load(url)
.placeholder(R.drawable.progress_animation)
.crossFade()
.signature(new StringSignature(String.valueOf(System.currentTimeMillis())))
.error(R.drawable.image_error_404)
.into(iv);
The answers here are incorrect, although they're on the right track.
You need to call Glide#clear()
, not just set the image drawable to null. If you don't call clear()
, an async load completing out of order may still cause view recycling issues. Your code should look like this:
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
if (parseList.get(position).get("logo") != null) {
ParseFile image = (ParseFile) parseList.get(position).get("logo");
String url = image.getUrl();
Glide.with(context)
.load(url)
.placeholder(R.drawable.piwo_48)
.transform(new CircleTransform(context))
.into(holder.imageView);
} else {
// make sure Glide doesn't load anything into this view until told otherwise
Glide.with(context).clear(holder.imageView);
// remove the placeholder (optional); read comments below
holder.imageView.setImageDrawable(null);
}
}