recyclerview-selection简化RecyclerView复选及状态持久化

本文介绍了如何使用recyclerview-selection库简化Android RecyclerView的多选功能实现,包括在设备配置改变时保存并恢复选择状态。通过实现ItemDetailsLookup接口和创建SelectionTracker,配合自定义Adapter实现选中高亮,并通过生命周期方法保存选中状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题记

在查看RecyclerView的官方文档的时候发现了这个recyclerview-selection库,经过测试感觉功能挺好的,省去了自己需要编写大量多选功能的代码,官方文档的guide又不是太清晰,这篇文章仅仅作为简单的记录。

参考:

  1. 如何将多个选择添加到Android RecyclerView(Kotlin)
  2. RecyclerView-Selection(Kotlin)
  3. github示例代码(Java)
  4. Create a List with RecyclerView——Google
  5. androidx.recyclerview.selection——Google

说明

根据官方文档的描述,这个库就是用来处理RecyclerView的Item的选择问题,并且可以在设备配置改变的时候保存已选择的数据,重新创建页面的时候再次加载,省去了我们自己对这部分的操作;同时通过观察者模式提供了item点击监听、长按订阅功能。

使用

  1. 选择一个key的类型。用来构建ItemKeyProvider;可选择的类型目前只有三种: String:基于字符串的稳定标识符可以使用String; Long:当RecyclerView的long stable Id已经在使用时,使用long,但是会有一些限制,在运行时访问一个稳定的id会被限定(不过目前没有发现有什么限定,测试中直接使用了list的索引); Parcelable:任何Parcelable都可以用作selection的key,如果view中的内容与稳定的content:// uri相关联,就是用uri作为key的类型;(这个还没有试验)
public class Str
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值