题记
在查看RecyclerView的官方文档的时候发现了这个recyclerview-selection库,经过测试感觉功能挺好的,省去了自己需要编写大量多选功能的代码,官方文档的guide又不是太清晰,这篇文章仅仅作为简单的记录。
参考:
- 如何将多个选择添加到Android RecyclerView(Kotlin)
- RecyclerView-Selection(Kotlin)
- github示例代码(Java)
- Create a List with RecyclerView——Google
- androidx.recyclerview.selection——Google
说明
根据官方文档的描述,这个库就是用来处理RecyclerView的Item的选择问题,并且可以在设备配置改变的时候保存已选择的数据,重新创建页面的时候再次加载,省去了我们自己对这部分的操作;同时通过观察者模式提供了item点击监听、长按订阅功能。
使用
- 选择一个key的类型。用来构建ItemKeyProvider;可选择的类型目前只有三种: String:基于字符串的稳定标识符可以使用String; Long:当RecyclerView的long stable Id已经在使用时,使用long,但是会有一些限制,在运行时访问一个稳定的id会被限定(不过目前没有发现有什么限定,测试中直接使用了list的索引); Parcelable:任何Parcelable都可以用作selection的key,如果view中的内容与稳定的content:// uri相关联,就是用uri作为key的类型;(这个还没有试验)
public class Str