RecyclerView элемент с дублированным изображением - PullRequest
0 голосов
/ 26 марта 2020

Я создал список в шахматном порядке, используя 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)

Эта проблема повторяется в большинстве мест в нашем приложении. Пожалуйста, предложите любой обходной путь.

Спасибо.

...