listview自带的单选和多选
2016-09-28 12:48
295 查看
1、ListView本身带有单选和多选功能,也就是说在单选模式下,它能够记住当前选中的唯一的列表项;在多选模式下,它能够记住目前选取的所有的列表项。
2、这种选择模式共有4种CHOICE_MODE_NONE,CHOICE_MODE_SINGLE,CHOICE_MODE_MULTIPLE,CHOICE_MODE_MULTIPLE_MODAL。
3、CHOICE_MODE_NONE,这是ListView默认的选择模式,当使用者点击列表项后,不会将任何点击的列表项当成被选择上的列表项。
lv.setChoiceMode(ListView.CHOICE_MODE_NONE);
4、CHOICE_MODE_SINGLE,使用这个选项模式,当使用者点击列表项后,会将最后一次点击的列表项当成被选择上的列表项。
lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
// 得到一个键值对,里面只会记录
SparseBooleanArray checkedItems = lv.getCheckedItemPositions();
5、CHOICE_MODE_MULTIPLE,使用这个选项模式,当使用者点击列表项后,会将所有点击的列表项当成被选择上的列表项。
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
// 得到一个个键值对,里面会记录
SparseBooleanArray checkedItems = lv.getCheckedItemPositions();
6、CHOICE_MODE_MULTIPLE_MODAL,在CHOICE_MODE_MULTIPLE_MODAL模式中,用户必须通过长按任意一个列表项,进入多选模式,否则不能进行多选。
private class MyMultiChoiceModeListener implements ListView.MultiChoiceModeListener {
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
//添加列表项被点击后的响应
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
//这里返回true
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
//这里返回true
return true;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
//这里返回true
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
}
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
ListView.MultiChoiceModeListener callback = new MyMultiChoiceModeListener();
lv.setMultiChoiceModeListener(callback);
2、这种选择模式共有4种CHOICE_MODE_NONE,CHOICE_MODE_SINGLE,CHOICE_MODE_MULTIPLE,CHOICE_MODE_MULTIPLE_MODAL。
3、CHOICE_MODE_NONE,这是ListView默认的选择模式,当使用者点击列表项后,不会将任何点击的列表项当成被选择上的列表项。
lv.setChoiceMode(ListView.CHOICE_MODE_NONE);
4、CHOICE_MODE_SINGLE,使用这个选项模式,当使用者点击列表项后,会将最后一次点击的列表项当成被选择上的列表项。
lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
// 得到一个键值对,里面只会记录
SparseBooleanArray checkedItems = lv.getCheckedItemPositions();
5、CHOICE_MODE_MULTIPLE,使用这个选项模式,当使用者点击列表项后,会将所有点击的列表项当成被选择上的列表项。
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
// 得到一个个键值对,里面会记录
SparseBooleanArray checkedItems = lv.getCheckedItemPositions();
6、CHOICE_MODE_MULTIPLE_MODAL,在CHOICE_MODE_MULTIPLE_MODAL模式中,用户必须通过长按任意一个列表项,进入多选模式,否则不能进行多选。
private class MyMultiChoiceModeListener implements ListView.MultiChoiceModeListener {
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
//添加列表项被点击后的响应
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
//这里返回true
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
//这里返回true
return true;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
//这里返回true
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
}
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
ListView.MultiChoiceModeListener callback = new MyMultiChoiceModeListener();
lv.setMultiChoiceModeListener(callback);
相关文章推荐
- ListView自带单选和多选的特技Choice Mode
- ListView自带单选和多选的特技Choice Mode
- listview的单选/多选模式的实现
- 解决ListView上多选和单选界面上显示错乱的问题
- Android项目开发经验小结----ListView的单选模式和多选模式
- Android listview ExpandableListView实现多选,单选,全选,edittext实现批量输入的实例代码
- Android控件之ListView ChoickModel 单选、多选模式
- listview中checkbox多选单选删除
- 【Android】ListView的单选、多选的实现
- ListView单选和多选模式完全解析
- 通过重写onCreateDrawableState和implements Checkable实现listview的多选和单选
- android listview ExpandableListView实现多选,单选,全选,edittext实现批量输入
- android listview 单选多选 selector
- 自定义类似RadioButton的单选、多选的ListView
- 完美解决Android在listview添加checkbox实现单选多选操作问题
- Android在listview添加checkbox实现单选多选操作问题
- Andoird listview 多选、单选、删除
- ListView的单选和多选模式的使用
- 自定义ListView item包含checkbox实现单选和多选
- Android在listview添加checkbox实现单选多选操作问题(转)