RecyclerView BackgroundColor

Ich habe ein @ verwendRecyclerView, um einige Textdaten anzuzeigen. Ich habe die Logik darin, verschiedene Karten auszuwählen.

Ich möchte das Aussehen der ausgewählten Karten ändern.

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);
    }

Wenn ich meinen Code so benutze, funktioniert er. Mein onClick-Ereignis löst diesen Code aus und die Hintergrundfarbe meiner Karte ändert sich in Grün.

Also hier ist mein Problem: Wenn Sie nach unten scrollen, werden andere Karten in derselben relativen Position (aber weiter unten in der Liste) mit derselben Hintergrundfarbe angezeigt, auch wenn sie nicht ausgewählt sind. Wählen Sie die erste Karte und scrollen Sie nach unten, bis die achte Karte die oberste sichtbare Karte ist. Die achte Karte wird hervorgehoben.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage