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 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>

最新文章

  1. mysql创建定时执行存储过程任务
  2. [转载]五种常见的电子商务模式对比:B2B、B2C、C2B、C2C、O2O
  3. 浏览器中的Javascript的简单对话框
  4. 常用的css命名规则:
  5. 网络编程1--毕向东java基础教程视频学习笔记
  6. 递推DP URAL 1353 Milliard Vasya&#39;s Function
  7. 学习html5第一天
  8. c#自定义液晶数字控件
  9. [Java]利用拦截器和自定义注解做登录以及权限验证
  10. IT职位分析
  11. python--DenyHttp项目(1)--socket编程:客户端与服务器端
  12. C#的自动拼接Sql语句Insert方法及思路
  13. Java synchronized 线程同步
  14. emq知识点
  15. express 错误处理
  16. UltraEdit程序设置添加到右键菜单
  17. 迷你MVVM框架 avalonjs 1.3.1发布
  18. TCP传输层协议的流程
  19. HDU 2082 找单词 (普通母函数)
  20. QT帮助文档 英文

热门文章

  1. foreach的用法(转)
  2. J - A + B Problem II(第二季水)
  3. arm mov 指令
  4. 代码设置layout_weight attribute
  5. PHP返回JSON和XML类
  6. 计算球体积,hdu-2002
  7. The package does not support the device architecture (x86). You can change the supported architectures in the Android Build section of the Project Opt
  8. Git学习01 --git add, git commit , git log ,git status, git reset --hard, head
  9. C#调用C++DLL传递结构体数组的终极解决方案
  10. C语言的本质(17)——回调函数