RecyclerView: 高亮选中的项

7
我已经实现了一个RecyclerView,并设置它使用CAB。但是如何突出显示所选项目?如果我在某个位置检查了,则将其存储在SparseBooleanArray中。 我的第一个想法是存储包含ViewHolder中所有元素的特定View,然后在onBindViewHolder中以某种方式设置背景: ?android:attr/activatedBackgroundIndicator 但是我该怎么做呢?这是一个有用的方法吗?

1
这个问题解决了吗? - DragonJawad
2个回答

2

我通过添加一些小细节最终解决了这个问题:

首先,RecyclerView的项目必须使用此背景:

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

针对RecyclerView,只需在各个视图上调用:setSelected(true);

请问您能否写出完整的代码?这段代码对我来说没有起作用。 - suku
@Paul Woitaschek,你能提供一下你是如何解决它的代码吗? - Yasin Kaçmaz

1
如果您想要更改视图本身,您需要调度adapter.notifyItemChanged(position), 然后recycler view会调用onBind方法,在那里可以设置背景。
如果您不需要更新视图本身,我建议使用一个item decorator。

1
你说的“不需要更新视图本身”是什么意思?我如何使用item decorator来装饰视图中的单个项?以及我如何使用android:attr/activatedBackgroundIndicator设置背景? - Paul Woitaschek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接