Как получить данные из определенных строк только в RecyclerView?

Я застрял на небольшой проблеме.

Когда я нажимаю на строку в моем RecyclerView, я хотел бы изменить ее цвет на какой-то другой цвет (например, красный).
Затем, если я снова нажму на эту строку, я бы хотел вернуть ее цвет к нормальному (то есть: белый).
Затем, если я нажму на второй ряд или n-й ряд, я хотел бы сделать то же самое.

Я пытался работать с классом RecyclerView Adapter, в своем ViewHolder я пробовал некоторые идеи подсчета кликов пользователей, установки логического значения для проверки цветных строк и getAdapterPosition, чтобы узнать, какова позиция строки... но на самом деле все мои попытки потерпели неудачу!

Не могли бы вы помочь мне с этой проблемой?

Кажется, я близок к решению, но нужна небольшая помощь

1 ответ

Вам нужно будет отслеживать, какие элементы были выбраны в списке (в противном случае любые изменения в представлении будут просто переработаны).

Держите список выбранных элементов в вашем адаптере. В onBindViewHolder адаптера вы можете проверить по списку, и если список содержит вид / элемент, вы можете соответствующим образом раскрасить вид.

Редактировать: см. Здесь рабочий пример. Как правильно выделить выбранный элемент в RecyclerView?

Другие вопросы по тегам