我正在尝试找出如何实现相同的效果mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
在RecyclerView实现中。请帮忙。
最佳答案
没有使用RecyclerView
的“选择模式”结构的内置支持。您可以选择自己滚动或使用提供它的第三方库。
DynamicRecyclerView library提供选择模式,但是我还没有尝试过。
This sample app演示了自己实现的方法,在这种情况下,使用激活状态指示当前选择。总体模式为:
RecyclerView.ViewHolder
检测指示选择的UI操作(单击行吗?单击行中的RadioButton
等等)。 RecyclerView.Adapter
级别跟踪选择。在我的情况下,ChoiceCapableAdapter
与实现SingleChoiceMode
策略的ChoiceMode
类一起处理该问题。 findViewHolderForPosition()
上的RecyclerView
可以在这里提供帮助-如果您跟踪最后一个选择的position
,则findViewHolderForPosition()
可以为您提供该选择的ViewHolder
,因此您可以“取消选择”它。 RecyclerView
的 Activity 或片段的已保存实例状态中来跟踪配置更改。