//Menu设置
//覆盖两个方法onCreateOptionsMenu(Menu menu)、onOptionsItemSelected(MenuItem Item)
//onCreateOptionsMenu:在该函数中创建Menu
//onOptionsItemSelected:当选中某个Menu时调用,用switch(Item.getItemId())来判别
//参数1.分组 2.ID 3.排列顺序 4.标题
menu.add(1, 1, 0, "设置").setIcon(R.drawable.setting);
menu.add(1, 2, 1, "账号").setIcon(R.drawable.switchuser);
menu.add(1, 3, 2, "官方").setIcon(R.drawable.officialweibo);
menu.add(2, 4, 3, "意见").setIcon(R.drawable.comment);
menu.add(2, 5, 4, "关于").setIcon(R.drawable.aboutweibo);
menu.add(2, 6, 5, "退出").setIcon(R.drawable.menu_exit);
//弹出上下文菜单,需用registerForContextMenu(View v)来注册
ListView lv = new LisrView(this);
registerForContextMenu(lv);//注册一个ListView的上下文菜单
//效果是可以在ListView中的某一项长按,会出现一个消息框, 在这个框中有菜单选项
//下面lm.id是用于显示上下文菜单的子视图的行ID。也就是获取到得是BaseAdapter方法getItemId(int position)的返回值
//触发上下文菜单的某一项
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
AdapterContextMenuInfo lm=(AdapterContextMenuInfo)item.getMenuInfo();
switch(item.getItemId()){
case 1://转发
break;
case 2://评论
break;
case 3://收藏
break;
case 4://查看信息
break;
}
Toast.makeText(this, item.getTitle(), 1000).show();
return super.onContextItemSelected(item);
}
//创建上下文菜单
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
AdapterContextMenuInfo lm=(AdapterContextMenuInfo)menuInfo;
System.out.println("第"+lm.id+"项,弹出菜单注册成功");
menu.setHeaderTitle("第"+lm.id+"项的弹出菜单");
menu.add(1, 1, 1, "转发");
menu.add(1, 2, 2, "评论");
menu.add(1, 3, 3, "收藏");
menu.add(1, 4, 4, "查看信息
}

android-上下文菜单的创建 - 随心的更多相关文章

  1. android 上下文菜单详解

    本文使用xml来创建上下文菜单 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:andr ...

  2. android上下文菜单

    XML: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmln ...

  3. Android 上下文菜单实现

    1.覆盖Activity的onCreateContenxtMenu()方法,调用Menu的add方法添加菜单项(MenuItem). 2.覆盖Activity的onContextItemSelecte ...

  4. Android上下文菜单ContentView详解

    ContentView介绍 上下文菜单继承了android.view.Menu,因此我们可以像操作Options Menu那样给上下文菜单增加菜单项.上下文菜单与Options Menu最大的不同在于 ...

  5. Android 上下文菜单 ContextMenu

    public class MainActivity extends Activity { private ListView listView; @Override protected void onC ...

  6. Android 上下文菜单 ActionMode

    public class MainActivity extends Activity { private Button button; private ActionMode actionMode; @ ...

  7. Android 上下文菜单 PopupMenu

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s ...

  8. Android Dialog 创建上下文菜单

    Android Dialog中的listview创建上下文菜单 listView.setOnCreateContextMenuListener(new OnCreateContextMenuListe ...

  9. 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)

    说到PopupWindow,我个人感觉是又爱又恨,没有深入使用之前总觉得这个东西应该很简单,很好用,但是真正使用PopupWindow实现一些效果的时候总会遇到一些问题,但是即便是人家的api有问题, ...

随机推荐

  1. 基于http的多进程并发文件服务器

    1 可以掌握的知识点 (1) 线上部署时的守护应用 (2) 常规的文件操作,配置文件读取 (3) 网络编程,端口复用等文件 (4) 多进程知识 2 代码注释如下 test_httpd.h #inclu ...

  2. jquery 选择器的总结

    元素选择 $("input") id选择 $('#id') class选择 $('.id') 属性选择 $('[prop]')或者$('[prop=“value1”]')或者$(' ...

  3. JavaScript学习系列1 基础-变量

    1. 在一次面试中,被问到JavaScript中使用严格模式有什么区别, 这里的严格模式指的是 ECMAScript5严格模式 我们首先来看看普通模式,也就是非严格模式 a = 5; console. ...

  4. idea中java项目增加module后,增加的目录(src)无法增加包(Package)

    在idea项目中,增肌model后,在项目根目录下增加src目录,右键发现无法增加包(Package). 仔细观察发现,新增加的src目录是棕色,而原先的src目录是浅蓝色的,见下图: 在src右键, ...

  5. git branch简单使用

    1,branch的建立及使用git clone user@192.168.0.136:/media/projiect/omap4/nexttab/kernel kernel/android3.0/  ...

  6. MySQL server has gone away问题得解决方案

    mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了. 造成这样的原因一般是s ...

  7. 【WIP】客户端JavaScript 事件处理

    创建: 2017/10/15 完成: 2017/10/15   更新: 2017/11/04 加粗事件的参数 更新: 2017/12/12 增加事件处理时获取事件对象的方法 更新: 2019/05/2 ...

  8. Highest Price in Supply Chain (25)(DFS)(PAT甲级)

    #include<bits/stdc++.h>using namespace std;int fa;int degree[100007];vector<int>v[100007 ...

  9. Educational Codeforces Round 57D(DP,思维)

    #include<bits/stdc++.h>using namespace std;char s[100007];long long a[100007];long long dp[100 ...

  10. C# DataTable转List<T>--利用反射

    /// <summary> /// 利用反射将Datatable转换为List<T>对象 /// </summary> /// <typeparam name ...