ListView多选操作模式——上下文操作模式
2024-10-18 20:04:47
1.什么叫上下文操作模式
2.如何进入上下文操作模式
1.ListView自身带了单选、多选模式,可通过listview.setChoiceMode来设置:
listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);//开启多选模式
listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);//开启单选模式
listview.setChoiceMode(ListView.CHOICE_MODE_NONE);//默认模式
listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);//开启多选模式
2.为ListView实现AbsListView.MultiChoiceModeListener接口的监听
public abstract void onItemCheckedSstateChanged(ActionMode mode,int position,long id,boolean checked)
//当视图在选中或撤销选中时会触发它
会有必须实现的四个方法:
public abstract boolean onCreateActionMode(ActionMode mode,Menu menu)
public abstract boolean onCreateActionMode(ActionMode mode,Menu menu)
//实例化菜单资源,显示在上下文操作栏上
public boolean onCreateActionMode(ActionMode mode,Menu menu){
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.crime_list_context,menu);//加载视图
return true; //返回true才会被执行
}
public abstract boolean onPrepareActionMode(ActionMode mode,Menu menu)
//上下文操作栏需要刷新显示新数据时候使用
public abstract boolean onActionItemClicked(ActionMode mode,MenuItem item)
//用户选中某个菜单项的时候调用
public abstarct void onDestoryActionMode(ActionMode mode)
//ActionMode将要销毁的时候调用
3.小技巧
上下文选中的时候颜色是不变的,所以需要自己改变颜色。需要指定一个selector来改变颜色。
<selector>
<item
android:state_actived="true"
android:drawable="#000"
/>
</selector>
最新文章
- mysql创建定时执行存储过程任务
- [转载]五种常见的电子商务模式对比:B2B、B2C、C2B、C2C、O2O
- 浏览器中的Javascript的简单对话框
- 常用的css命名规则:
- 网络编程1--毕向东java基础教程视频学习笔记
- 递推DP URAL 1353 Milliard Vasya&#39;s Function
- 学习html5第一天
- c#自定义液晶数字控件
- [Java]利用拦截器和自定义注解做登录以及权限验证
- IT职位分析
- python--DenyHttp项目(1)--socket编程:客户端与服务器端
- C#的自动拼接Sql语句Insert方法及思路
- Java synchronized 线程同步
- emq知识点
- express 错误处理
- UltraEdit程序设置添加到右键菜单
- 迷你MVVM框架 avalonjs 1.3.1发布
- TCP传输层协议的流程
- HDU 2082 找单词 (普通母函数)
- QT帮助文档 英文
热门文章
- foreach的用法(转)
- J - A + B Problem II(第二季水)
- arm mov 指令
- 代码设置layout_weight attribute
- PHP返回JSON和XML类
- 计算球体积,hdu-2002
- The package does not support the device architecture (x86). You can change the supported architectures in the Android Build section of the Project Opt
- Git学习01 --git add, git commit , git log ,git status, git reset --hard, head
- C#调用C++DLL传递结构体数组的终极解决方案
- C语言的本质(17)——回调函数