day14
2016-03-28 11:07
225 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cf01201003/article/details/50996351
上下文菜单与上下文操作模式
1、创建上下文菜单时,Fragment的回调方法类似于用于选项菜单的回调方法,要实例化生成一个上下文菜单,可使用以下方法:
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
响应用户的上下文菜单选择,可实现以下Fragment方法:
public boolean onContextItemSelected(MenuItem item)
MultiChoiceModeListener接口实现了另一个接口,即ActionMode.Callback。用户在屏幕进入上下文操作模式时,会创建一个ActionMode类实例。随后在生命周期内,ActionMode.Callback接口的回调方法会在不同时间点被调用。以下为ActionMode.Callback接口中必须实现的四个方法:
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
响应用户的上下文菜单选择,可实现以下Fragment方法:
public boolean onContextItemSelected(MenuItem item)
2、默认情况下,长按视图不会触发上下文菜单的创建。要触发菜单的创建,必须调用以下Fragment方法为浮动上下文菜单登记一个视图:
public void registerForContextMenu(View view)该方法传入触发上下文菜单的视图。3、为ListView设置一个实现AbsLIstView.MultiChoiceModeListener接口的监听器。该接口包含以下回调方法,视图在选中或者撤销选中时会触发它:
public abstract void onItemCheckStateChange(ActionMode mode, int position, long id, boolean checked)MultiChoiceModeListener接口实现了另一个接口,即ActionMode.Callback。用户在屏幕进入上下文操作模式时,会创建一个ActionMode类实例。随后在生命周期内,ActionMode.Callback接口的回调方法会在不同时间点被调用。以下为ActionMode.Callback接口中必须实现的四个方法:
public abstract boolean onCreateActioMode(ActionMode mode, Menu menu)
在ActionMode对象创建后调用。也是实例化上下文菜单资源,并显示在上下文操作栏上的任务完成的地方。public abstract boolean onPrepareActionMode(ActionMode mode, Menu menu)
在onCreateActionMode(。。。)方法之后,以及当前上下文操作栏需要刷新数据时调用。public abstract boolean onActionItemClicked(ActionMode mode, MenuItem item)
在用户选中某个菜单项操作时调用。是响应上下文菜单项操作的地方。public abstract void DestroyActionMode(ActionMode mode)
在用户退出上下文操作模式或所选菜单项操作已被响应,从而导致ActionMode对象将要销毁时调用。默认的实现会导致已选视图被反选。这里,也可完成在上下文操作模式下,响应菜单项操作而引发的相应fragment更新。相关文章推荐
- Course_Student_SchoolClass(Day14)
- 黑马程序员————字符串(day14)
- leetcode -day14 Populating Next Right Pointers in Each Node I II
- java学习day14
- 30天自制操作系统day14
- day14 RDD 揭秘
- XJOI网上同步测试DAY14 T2
- day14 Python Css漂浮
- 【win32】day14-进程/作业/线程
- python--学习--day14--web基础:html|css
- day14(正则表达式,Math,Random,System,BigInteger,BigDecimal,Date等)
- JavaScript-day14-个人学习笔记
- Day14作业 二、有两个List集合怎么取两个无重复的并集
- Day14 多线程之第二种
- day14
- JAVA Day14 总结
- Day14 -B 网络应用开发
- StandardExamSystem(Day14)
- 《30天自制操作系统》读书笔记Day14
- 21天战拖记——Day14:如何养成一个习惯?(2014-05-17)