Android实现列表单选和多选,ListView+CheckedTextView
16lz
2021-01-23
CheckedTextView + ListView
可以简单地实现单选和多选列表;
右侧的选框图标,可以通过 checkMark 来自定义图标
android:checkMark="@drawable/custom_single_bg"
drawable文件如下:
<?xml version="1.0" encoding="utf-8"?>
也可以在Java代码中动态设置:setCheckMarkDrawable
可以查看CheckedTextView 的源代码了解更多方法:
使用ListView可以设置选择模式,
setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE);//多选
ListView的四种选择模式:
其中 CHOICE_MODE_NONE 是普通模式, CHOICE_MODE_SINGLE 是单选模式,不常用, CHOICE_MODE_MULTIPLE 和 CHOICE_MODE_MULTIPLE_MODAL 都是多选模式
ListView多选操作模式详解CHOICE_MODE_MULTIPLE与CHOICE_MODE_MULTIPLE_MODAL
CHOICE_MODE_MULTIPLE_MODAL和CHOICE_MODE_MULTIPLE恰恰相反,他是对普通点击操作和多选操作是排斥的,一旦有一个item被选中,即进入到多选状态,item的onclick事件被屏蔽。这种排斥性也是他比CHOICE_MODE_MULTIPLE多了个MODAL的原因。
ListView的 getCheckedItemPositions() 方法,其返回结果是一个 SparseBooleanArray 对象,里面包括了每个被选中项的index,以及其选中状态。
setItemChecked(int position, boolean value) 设置某一项的选中状态;
clearChoices() 清除所有选中状态;
ListView.MultiChoiceModeListener接口的方法,这是多选模式下特有的方法,监听列表项的选中状态变化,
@Overridepublic void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) { ....}
更多相关文章
- 程序的组件模式
- android耳机状态的检测
- Android 实现变色状态栏
- Android使用系统Intent实现分享功能及将应用加入分享列表
- Android VR Player(全景视频播放器) [6]:视频列表的实现-本地视频
- Android中MVP模式
随机推荐
- JavaScript 通过native.js 调用Android原
- android 反汇编,修改,重新打包
- android常用控件应用之文本框(TextView)特
- Android(安卓)Studio运行程序出现Session
- Android Gradle manifestPlaceholders 占
- Android Studio 默认keystore 以及自定义
- Android API 中文 (55) ―― ListAdapter
- android中ActionBar以及其与Action Butto
- Android中http请求(C# MVC接收)
- [Android] 获取Android设备的唯一识别码|