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_MULTIPLECHOICE_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) {    ....}

更多相关文章

  1. usbmanger android 底下USB的工作模式
  2. Android各种访问权限Permission详解
  3. android上实现语音识别,基于google的语音识的简单例子.
  4. android Map 使用方法
  5. 热点:Android(安卓)10(Android(安卓)Q)发布
  6. android耳机状态的检测
  7. 程序的组件模式
  8. Android(安卓)USB配件模式
  9. Android(安卓)导入项目时报Android.jar包丢失解决方法

随机推荐

  1. Android框架结构了解
  2. Android(安卓)Binder机制学习总结(二)-Dr
  3. 在Windows系统中使用NDK编译Android二进
  4. 【Android(安卓)基础】Android中全屏或者
  5. Android(安卓)ImageView实现上一页,下一页
  6. Chronometer控件实现的Android计时器
  7. Android(安卓)更新UI的两个方法
  8. Android(安卓)Activity四种加载方式
  9. UI控件--ImageView和ImageButton
  10. Android(安卓)NDK报错(Eclipse)及解决方法