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 上下文菜单实现相关推荐

  1. Android 上下文菜单实现 context Menu

    Android 上下文菜单实现 2011年3月31日9:25 来源:Android中文网 我有话说(2人参与) 首先解释一下什么是上下文菜单,Android中上下文菜单就是ContextMenu.他的 ...

  2. Android 上下文菜单(Context Menu)

    一.概述 Android中,上下文菜单是通过onLongClick(...)事件访问的.在事件触发后显示菜单项. 在使用上下文菜单时,通常在onCreate(...)方法中,先行注册上下文菜单.在实现 ...

  3. Android 上下文菜单

    1.创建菜单资源文件 在res下新建menu文件夹:右击menu文件夹新建菜单资源文件menu.xml. <?xml version="1.0" encoding=" ...

  4. android开发菜单,Android学习指南之十六:Android菜单详解

    Android用户界面的组成除了View外,还包括菜单和对话框,本节我们先来学习一下菜单的使用方法. 菜单Menu是Android用户界面中最常见的元素之一,使用非常频繁.Android菜单主要分为三 ...

  5. Android — 长按ListView 利用上下文菜单(ActionMode) 进行批量事件处理

    好久没写博客拉``````` 近期最终略微闲一点了``````` 无聊拿手机清理短信.发现批量事件的处理还是挺管用的`````` 那么自己也来山寨一记看看效果吧````` 闲话少说,首先,我们来看下手 ...

  6. android菜单详解三:上下文菜单

    创建一个上下文菜单 一个上下文菜单跟PC上的右键菜单类似.你应使用上下文菜单为用户界面上的某个部分提供动作选择功能.在Android中,一个上下文菜单会在用户长按一个界面条目时出现. 你可以为任何Vi ...

  7. android webview 长按菜单拦截,javascript-在Android上长按时禁用上下文菜单

    javascript-在Android上长按时禁用上下文菜单 我想禁用长按(触摸并按住)Web应用程序中的图像后出现的上下文菜单. 我见过关于如何做到这一点的不同想法,但似乎没有一个对我有用. 有没有 ...

  8. android 关闭上下文菜单,【Android笔记】ContextMenu上下文菜单

    ContextMenu上下文菜单 1.ContextMenu菜单的组成部分 标题及标题图标 菜单内容 菜单内容的点击响应事件 2.ContextMenu与OptionMenu的区别 OptionMen ...

  9. 【Android基础知识】选项菜单、上下文菜单、子菜单的使用

    Android菜单类型 菜单是为了增加更多的功能,不占用屏幕的空间.Android中菜单类型有三类,选项菜单(OptionMenu).上下文菜单(ContextMenu).子菜单(SubMenu),下 ...

最新文章

  1. 云上效率提升指南 | K8S和Serverless还能这么玩
  2. boost::qvm::deduce_vec相关的测试程序
  3. linux登录界面主题,Ubuntu 12.10登录界面主题:Butterfly
  4. 【转】Postman系列二:Postman中get接口实战讲解(接口测试介绍,接口测试流程,头域操作)
  5. 设计模式在业务系统中的应用
  6. navicat连接PostgreSQL报:column “rolcatupdate” does not exist ...错误的解决办法
  7. Python:集合、三元运算符
  8. python学习笔记——Day 3
  9. 5分钟搭一个FastDFS--Linux篇
  10. 教你用好手中的McAfee 杀毒软件和McAfee 企业集中管理工具EPO
  11. 服务零售全场景,苏宁机器人“分身有术”
  12. win10 悬浮日历_win10系统桌面添加日历,天气,时钟等小工具的操作方法
  13. Python 爬虫对链家网广州二手房源信息的处理与可视化分析
  14. Javascript特效代码大全(420个)
  15. ITextSharp获取pdf文件指定关键字的坐标信息,用于签名。
  16. 统计学基础知识(三)
  17. 从零开始用android studio
  18. 〖Python WEB 自动化测试实战篇⑧〗- 实战 - 利用 selenium 处理弹出框
  19. 化工厂人员定位保障安全管理
  20. 在ROS2中,通过MoveIt2控制Gazebo中的自定义机械手

热门文章

  1. Java17-缓冲流,转换流,序列化流
  2. 混合高斯模型 http://www.cnblogs.com/CBDoctor/archive/2011/11/06/2236286.html
  3. CAD中插入外部参照字体会变繁体_一次性解决CAD单位问题 再也不会有下一篇了...
  4. MySQL 主从同步延时问题
  5. opencv没有找到cxcore100.dll解决方法
  6. 微信小程序-注册和第一个demo
  7. .NET C# 将数据保留一位小数并四舍五入
  8. centos7查看JAVA_HOME
  9. Mysql 5.7OCP备考经验分享
  10. PVI-DSO: Leveraging Planar Regularities for Direct Sparse Visual-Inertial Odometry (阅读笔记)