#android #kotlin #android-recyclerview #android-glide
#Android #котлин #android-recyclerview #android-glide
Вопрос:
Я хочу загрузить один URL-адрес, который возвращает различные изображения в элементы RecyclerView. Проблема в том, что все элементы имеют одинаковое изображение. Я использую next RequestOptions:
val options by lazy {
RequestOptions()
.signature(ObjectKey(System.currentTimeMillis()))
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)}
Загрузка изображения:
fun ImageView.load() {
Glide
.with(this)
.asBitmap()
.load("url")
.apply(options)
.into(object : SimpleTarget<Bitmap>(1024, 1024) {
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
useBitmap(resource)
this@load.setImageBitmap(resource)
}
})}
Привязать ViewHolder:
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(items[position])
}
class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
fun bind(item: Model) = with(itemView) {
itemView.image.load()
...
}
}
Ответ №1:
Попробуйте вызвать glide clear в своем представлении перед установкой изображения, я вижу, что вы не кэшируете его и пропускаете кеш, но у меня были похожие случаи, когда glide пытался переработать изображение.
Комментарии:
1. Я уже пытался ‘Glide.with (ImageView).clear (ImageView)’ и установить bitmap null, но это не помогло ‘.