我正在使用androidx.recyclerview.selection
来选择RecyclerView
中的项目。 我正在尝试构建一个编辑片段,其中它预填充了RecyclerView
中的旧视图。目前,我能够从 API 调用加载旧值并通过notifyDataSetChanged
调用更新适配器的列表。但是我希望选择列表中的所有项目,换句话说,我想在片段加载时以某种方式将所有项目添加到对象SelectionTracker
。
每当调用notifyDataSetChanged
时,我都可以看到SelectionTracker
的观察者onSelectionRefresh()
被触发,但我无法在那里更新选择跟踪器,因为它正在进行无限调用循环。
SelectionTracker.setItemsSelected:
selectionTracker?.setItemsSelected(listOfKeysToBeSelected, true)
val size = documents.size
for(number in 0 until size){
(tracker as SelectionTracker<Long>?)?.select(number.toLong())
}
使用 for 循环从 0 开始将回收器视图的所有位置传递到单个项目的总数。
按迭代选择RecyclerView
适配器中的每个项目。
假设您的密钥Long
:
for (i in 0 until recyclerAdapter.itemCount)
selectionTracker.select(i.toLong())