Я создал список в шахматном порядке, используя RecyclerView v28.0.0 в сочетании с Glide Image Library v4.9.0.
Пожалуйста, не помечайте этот вопрос как дубликат, потому что перед размещением этого вопроса я ссылался на следующие пункты:
Я создаю Адаптер, используя DataBoundListAdapter, который также включает обратный вызов diff.
Чтобы убедиться, что каждый элемент представления переработчика получает уникальный идентификатор, я бы использовал hashmap как:
override fun bind(binding: ItemStockBinding, item: InventoryProductWithSKU, position: Int) {
mContext?.let {
Glide.with(it)
.load(mIdImageMap[item.inventoryProductEntity.id])
.apply(RequestOptions().placeholder(R.drawable.place_holder)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.error(R.drawable.place_holder))
.placeholder(R.drawable.place_holder)
.into(binding.layoutProductImage)
} }
И, чтобы обработать случай, если изображение отсутствует, я бы:
Glide.with(mContext!!).clear(binding.layoutProductImage)
binding.layoutProductImage.setImageDrawable(null)
Эта проблема повторяется в большинстве мест в нашем приложении. Пожалуйста, предложите любой обходной путь.
Спасибо.