RecyclerView BackgroundColor
Eu usei umRecyclerView
para exibir alguns dados de texto. Eu tenho a lógica para selecionar cartões diferentes.
Gostaria de mudar a aparência dos cartões selecionados.
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);
}
Se eu usar meu código assim, ele funcionará. Meu evento onClick aciona esse código e a cor de fundo do meu cartão muda para verde.
Então, aqui está o meu problema: a rolagem para baixo mostra outros cartões na mesma posição relativa (mas mais abaixo na lista) com a mesma cor de fundo, mesmo que não estejam selecionados; selecionar o primeiro cartão e rolar para baixo até onde o oitavo cartão é o cartão visível superior mostra o oitavo cartão realçado.