我使用以下方法来使用 recyclerview-selection:
selectionTracker = new SelectionTracker.Builder<>("lazy-load-img-list-selection", this.recyclerView, new KeyProvider(1), new Lookup(), StorageStrategy.createLongStorage()).build();
我期待
selectionTracker.setOnSelectionEnter
selectionTracker.setOnSelectionExit
切换按钮“删除选择”“清除选择”可见性
怎么办?
更新:
我可以检测选择状态回收器适配器#onBindViewHolder,但这不是好方法,当确定 onSelectionExit 时,我必须检测每个渲染每个项目的所有项目状态
最佳答案
我找到解决方案:
selectionTracker.addObserver(new SelectionTracker.SelectionObserver() {
@Override
public void onItemStateChanged(@NonNull Object key, boolean selected) {
super.onItemStateChanged(key, selected);
Selection selection = selectionTracker.getSelection();
if (selected && selection.size() == 1) {
if (onSelectionEnter != null) {
onSelectionEnter.run();
}
} else if (!selected && selection.size() == 0) {
if (onSelectionExit != null) {
onSelectionExit.run();
}
}
}
});
关于java - recyclerview-selection 如何监听 onSelectionEnter 事件和 onSelectionExit 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59605930/