Wrong image on recyclerview
SmasSive opened this issue Β· comments
Hi!
First of all thanks for this great lib! π
I'm using BIV like a gallery, in a recyclerview with a viewpager behaviour and the viewholder is basically a BigImageView
, the question is that when I'm paginating there is a page that shows a previous image while progress is shown and once the right image is ready, it is shown correctly.
What I expect is that while the image is downloading, no previous image is shown but only the progress.
I've tried to do a cancel()
in the onViewRecycled
method of the adapter but with no success... I've read also that another solution could be to do a setImageDrawable(null)
but AFAIK I don't have access to the ImageView
right?
What can I do? If you need more info please ask me!
Thanks a lot!!!
I've managed this by doing the following:
- On
onViewRecycled
method from adapter I call a holder method namedclear()
- That
holder.clear()
is a method that gets theSubsamplingScaleImageView
and then calls torecycle()
Adapter
override fun onViewRecycled(holder: GlideGalleryViewHolder) {
holder.clear()
}
ViewHolder
fun clear() {
itemView.itemImage.ssiv.recycle()
}
But I don't know if it's a good practice or it's ok. Could you please give me your opinion? Thanks!
I think that's a good way to solve this problem.
Did anyone managed to recycle() a ssiv in RecyclerView with ViewPager successfully?
Calling ssiv.recycle()
does not work as expected.
I was managed to make it work by hiding a BigImageView
in onBindViewHolder
and to show it when onMainImageShown
callback is triggered.
ssiv.recycle()
didn't work for me.