RecyclerView BackgroundColor

Я использовалRecyclerView отображать некоторые текстовые данные. У меня есть логика для выбора разных карт.

Я хотел бы изменить внешний вид выбранных карт.

public void toggleSelection(int pos)
    {
        RecyclerView.ViewHolder viewHolder = recView.findViewHolderForPosition(pos);
        if (selectedItems.get(pos, false)) {
            selectedItems.delete(pos);
            viewHolder.itemView.setBackgroundColor(Color.WHITE);
        }
        else {
            selectedItems.put(pos, true);
            viewHolder.itemView.setBackgroundColor(Color.GREEN);
        }
        notifyItemChanged(pos);
    }

Если я использую свой код, как это, он работает. Мое событие onClick вызывает этот код, и цвет фона моей карты меняется на зеленый.

Итак, вот моя проблема: прокрутка вниз показывает другие карты в том же относительном положении (но дальше в списке) с тем же цветом фона, даже если они не выбраны; выберите первую карту и прокрутите вниз, где восьмая карта является верхней видимой картой, показывает восьмую выделенную карту.

Ответы на вопрос(1)

Ваш ответ на вопрос