2014-10-25 4 views
7

Я внедрил RecyclerView, и я установил его для использования CAB. Но как я могу выделить выбранные элементы? Если определенная позиция, которую я проверил, я сохранил в SparseBooleanArray. Моя первая мысль состояла в том, чтобы сохранить конкретный View, контактирующий со всеми элементами в моем ViewHolder, а затем в onBindViewHolder установить фон как-то: ?android:attr/activatedBackgroundIndicator Но как я могу это сделать? Это полезный подход?RecyclerView: Выделите выделенный элемент

+1

Было ли это когда-либо разрешено? – MDragon00

ответ

3

я, наконец, решил это, просто добавив некоторые незначительные вещи:

Прежде всего, пункты, из RecyclerView должны использовать это в качестве фона:

android:background="?android:attr/activatedBackgroundIndicator" 

Тогда для RecyclerView просто позвонить : setSelected(true); на индивидуальные виды.

+0

Вы можете написать полный код? Это не сработало для меня – suku

+0

@Paul Woitaschek вы можете предоставить любой код, как вы его решили? –

+0

@PaulWoitaschek он не работал – Sam

1

Если вы хотите изменить сам вид, вам необходимо отправить adapter.notifyItemChanged (position), и в ответ вид recycler вызовет метод onBind, в котором вы можете установить фон.

Если вам не нужно обновлять представление, я бы предложил использовать декоратор предметов.

+1

Что вы имеете в виду, когда вам не нужно обновлять представление? Как я могу украсить один элемент в представлении с помощью декоратора предметов? И как я могу установить фон с помощью android: attr/activatedBackgroundIndicator? –

Смежные вопросы