Android实现列表单选和多选,ListView+CheckedTextView
16lz
2022-05-12
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) { ....}
更多相关文章
- usbmanger android 底下USB的工作模式
- Android各种访问权限Permission详解
- android上实现语音识别,基于google的语音识的简单例子.
- android Map 使用方法
- 热点:Android(安卓)10(Android(安卓)Q)发布
- android耳机状态的检测
- 程序的组件模式
- Android(安卓)USB配件模式
- Android(安卓)导入项目时报Android.jar包丢失解决方法