I have this problem - just for testing purposes I added ParseFile
to one of ParseObject
from received list. Instead of showing it only in that row it shows every 4-5 rows, sometimes more, sometimes less. I supspect that recycling view have something to do with this. Strangely, other data (deleted from this example) works fine with position
variable.
@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); } }
Create a layout for images To create grid layout, we'll use RecyclerView in our app. To create a RecyclerView item layout file, right-click the layout folder and select New, then Layout Resource File. After that, fill in the name of the file. After creating the file, we'll create our item layout using CardView .
addItemDecoration(headerDecoration); The decoration is also reusable since there is no need to modify the adapter or the RecyclerView at all.
By default it have 5. you can increase as per your need. Save this answer.
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); } }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With