最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android开发:基于BaseMultipleChoiceAdapter快速封装列表多选功能
时间:2026-05-29 10:15:01 编辑:袖梨 来源:一聚教程网
在Android应用开发中,列表多选编辑功能是收藏、文件管理等场景的常见需求。本文介绍如何通过封装BaseMultipleChoiceAdapter基类,快速实现全选、单选和批量操作功能。

BaseMultipleChoiceAdapter实现原理
该适配器基类通过维护两个核心数据结构:数据列表lists和选中状态数组marks,简化了多选功能的开发流程。开发者只需关注UI展示和数据绑定,选中状态的维护完全由基类处理。
public abstract class BaseMultipleChoiceAdapter<B extends ViewBinding, T> extends RecyclerView.Adapter {
// 核心数据结构和关键方法实现...
}
核心功能详解
- 数据管理:提供setData()和addData()方法处理数据更新
- 选中状态控制:通过addMark()实现单选切换
- 批量操作:choiceAll()和choiceNone()实现全选/全不选
- 选中数据获取:getMarkData()返回所有选中项
数据检查工具类
DataCheckUtil提供多种数据判空方法,确保操作安全性。
public class DataCheckUtil {
// 多种数据校验方法实现...
}
实战应用:收藏功能实现
通过CollectActivity和CollectAdapter演示具体应用:
1. 布局文件关键点
id="@+id/tv_gl_right"/>
id="@+id/tv_cancel_right"/>
id="@+id/ll_check">
src="@drawable/selector_check_yyts2"/>
id="@+id/fl_delete">
text="删除"/>
2. Activity核心逻辑
CollectActivity处理编辑状态切换和批量删除:
public class CollectActivity extends BaseBingActivity {
// 初始化适配器和器
collectAdapter.setOnMultipleChoiceDataListener(new OnMultipleChoiceDataListener() {
// 处理全选/部分选中状态变化
});
// 点击事件处理
public void onClick(View view) {
// 管理/取消/全选/删除等操作
}
}
3. 适配器实现
CollectAdapter继承BaseMultipleChoiceAdapter,专注UI展示:
public class CollectAdapter extends BaseMultipleChoiceAdapter {
// 实现数据绑定和选中状态UI更新
}
4. 列表项布局
id="@+id/iv_check"/>
id="@+id/tv_sn"/>
id="@+id/tv_name"/>
通过封装BaseMultipleChoiceAdapter,开发者可以快速实现复杂的列表多选功能,大幅提升开发效率。文中的完整代码示例可直接应用于实际项目,帮助构建更强大的Android应用。