Android 上下文菜单实现
1.覆盖Activity的onCreateContenxtMenu()方法,调用Menu的add方法添加菜单项(MenuItem)。
2.覆盖Activity的onContextItemSelected()方法,响应上下文菜单菜单项的单击事件。
3.调用registerForContextMenu()方法,为视图注册上下文菜单。
JAVA代码:
packageEOE.local.contextMenu;
importandroid.app.ListActivity;
importandroid.os.Bundle;
importandroid.view.ContextMenu;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.ContextMenu.ContextMenuInfo;
importandroid.view.View;
importandroid.widget.AdapterView.AdapterContextMenuInfo;
importandroid.widget.ArrayAdapter;
importandroid.util.Log;
publicclassMainActivityextendsListActivity{
privatestaticfinalintITEM1=Menu.FIRST;
privatestaticfinalintITEM2=Menu.FIRST+1;
privatestaticfinalintITEM3=Menu.FIRST+2;
/**Calledwhentheactivityisfirstcreated.*/
@Override
public void onCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
showListView();
//为ListView的所有item注册ContextMenu
registerForContextMenu(getListView());
//这里的registerForContextMenu()也可以用下面的语句替代
//getListView().setOnCreateContextMenuListener(this);
}
privatevoidshowListView(){
String[]mString=newString[]{
"路飞-MonkeyDLuffy",
"奈美-Nami",
"卓洛-Zoro",
"山治-Sanji",
"尼可·罗宾-Ms.AllSunday",
"乌索普-usoppu",
"托尼托尼·乔巴-TonyTonyChopper",
};
ArrayAdapter<String>mla=newArrayAdapter<String>(MainActivity.this,
R.layout.main,mString);
MainActivity.this.setListAdapter(mla);
}
//上下文菜单,本例会通过长按条目激活上下文菜单
@Override
publicvoidonCreateContextMenu(ContextMenumenu,Viewview,
ContextMenuInfomenuInfo){
menu.setHeaderTitle("人物简介");
//添加菜单项
menu.add(0,ITEM1,0,"特长");
menu.add(0,ITEM2,0,"战斗力");
menu.add(0,ITEM3,0,"经典语录");
}
//菜单单击响应
@Override
publicbooleanonContextItemSelected(MenuItem item){
//获取当前被选择的菜单项的信息
//AdapterContextMenuInfo info=(AdapterContextMenuInfo)item.getMenuInfo();
//Log.i("braincol",String.valueOf(info.id));
switch(item.getItemId()){
caseITEM1:
//在这里添加处理代码
break;
caseITEM2:
//在这里添加处理代码
break;
caseITEM3:
//在这里添加处理代码
break;
}
returntrue;
}
}
main.xml布局文件:
<?xmlversion="1.0"encoding="utf-8"?>
<TextViewxmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myTextView"
android:textSize="20sp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/hello"
/>
Android 上下文菜单实现的更多相关文章
- android上下文菜单
XML: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln ...
- android 上下文菜单详解
本文使用xml来创建上下文菜单 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:andr ...
- Android上下文菜单ContentView详解
ContentView介绍 上下文菜单继承了android.view.Menu,因此我们可以像操作Options Menu那样给上下文菜单增加菜单项.上下文菜单与Options Menu最大的不同在于 ...
- Android 上下文菜单 ContextMenu
public class MainActivity extends Activity { private ListView listView; @Override protected void onC ...
- Android 上下文菜单 ActionMode
public class MainActivity extends Activity { private Button button; private ActionMode actionMode; @ ...
- Android 上下文菜单 PopupMenu
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s ...
- 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)
说到PopupWindow,我个人感觉是又爱又恨,没有深入使用之前总觉得这个东西应该很简单,很好用,但是真正使用PopupWindow实现一些效果的时候总会遇到一些问题,但是即便是人家的api有问题, ...
- Android 的上下文菜单: Context Menu,registerForContextMenu(getListView())
概述: Android 的上下文菜单类似于 PC 上的右键菜单.当为一个视图注册了上下文菜单之后,长按(2 秒左右)这个视图对象就会弹出一个浮动菜单,即上下文菜单.任何视图都可以注册上下文菜单,不过, ...
- android 为组件添加contextMenu上下文菜单
package com.example.fragmentNavigation2.fragment; import android.os.Bundle; import android.support.v ...
随机推荐
- MSP430F149学习之路——PWM信号
代码一: /******************************* 程序功能:ACLK=32768Hz PWM波 T=512/32768 占空比75% ******************** ...
- TCP/IP详解学习笔记(13)-- TCP连接的建立与终止
1.TCP连接的建立 设主机B运行一个服务器进程,它先发出一个被动打开命令,告诉它的TCP要准备接收客户进程的连续请求,然后服务进程就处于听的状态.不断检测是否有客户进程发起连续 ...
- WM_INITDIALOG与WM_CREATE消息的区别
WM_CREATE是所有窗口都能响应的消息,表明本窗口已经创建完毕(可以安全的使用这个窗口了,例如在它上面画控件等).在响应WM_CREATE消息响应函数的时候,对话框及子控件还未创建完成,亦是说 ...
- 用ipad维护Linux服务器
用ipad维护Linux服务器 随着移动办公的应用深入,越来越多的ITer开始使用ipad来工作学习和娱乐,有时当你接到紧急求救电话,需要你维护服务器时,怎么办?拿着ipad接入到wifi网络就能连接 ...
- ZoneMinder配置与使用
ZoneMinder是一套基于Linux操作系统的摄像机的视像数据监控的应用软件.应用范围广泛,包括商业或家居防盗等.ZoneMinder支持单一或多台视像镜头应用,包括摄取.分析.记录.和监视来源, ...
- windows网络编程-2015.12.29
在windows环境下,使用netstat命令查看网络状态,具体命令如下所示: netstat -ano | findstr listenport 在windows环境下,创建udp程序接收端,具体代 ...
- docker1.12 安装redis第三方集群方案 codis
docker1.12 安装redis第三方集群方案 codis
- sql语句小练习一
create database aaa go use aaa go create table student( sno varchar(3), sname varchar(4) not null ...
- 数学对象Math ceil()、floor()、round()方法
Math.ceil() 功能:对一个数进行上取整. 语法:Math.ceil(x) 参数: x:一个数值. 返回值:返回大于或等于x,并且与之最接近的整数. 注:如果x是正数,则把小数“入”: ...
- NSString常见用法总结
//====================NSStirng 的常见用法==================== -(void)testString { //创建格式化字符串:占位符(由一个%加一个字 ...