//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. Linux 启动顺序

    Linux 启动顺序:1. BIOS自检2. 运行系统内核并检测硬件3. 运行系统的第一个进程init4. init读取系统引导配置文件/etc/inittab中的信息进行初始化            ...

  2. Cannot uninstall 'enum34'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

    更新tensorflow时遇到报错 Found existing installation: enum34 1.0.4Cannot uninstall 'enum34'. It is a distut ...

  3. JavaScript学习系列2一JavaScript中的变量作用域

    在写这篇文章之前,再次提醒一下 JavaScript 是大小写敏感的语言 // 'test', 'Test', 'TeSt' , 'TEST' 是4个不同的变量名 JavaScript中的变量,最重要 ...

  4. C++ 从内存的角度,学习虚继承机制

    测试代码 #include <stdio.h> struct AA { char b; char b1; int b3; char b2; }; class A { public: A() ...

  5. 【转】List<T>和ILIst<T>的区别

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace List ...

  6. DataSet,DataTable,DataColumn,DataRow的常用操作

    DataSet 这个玩意没什么好讲的,当ado.net查询出有多张表集合的数据返回时,这个时候就会使用到DataSet. DataTable //表之间直接赋值 dt2=dt1; 两者指向同一内存空间 ...

  7. nginx 安装遇到的问题

    今天想学学 nginx,于是先把它安装起来.按照 http://nginx.org/en/linux_packages.html 上面的方法,在我的 ubuntu 虚拟机上很容易地就安装好了.可是要运 ...

  8. 如何使用JDBC Request跨数据库查询后引用查询的结果作为下一个JDBC Request的入参

    [前言] 今天来给大家介绍下如何使用JDBC Request跨数据库查询后引用查询的结果作为下一个JDBC Request的入参! 因为我现在所测的系统模块中部分表在不同的数据库中,所以在用JDBC ...

  9. UVA307 Sticks

    题意:一组等长的木棒,将它们随机的砍掉,得到若干根小木棍, 每一节小棍的长度都不超过50个单位.然后想把这些木棍拼接起来,恢复到裁剪前的状态, 但忘记了初始时有多少木棒以及木棒的初始长度.计算木棒的可 ...

  10. CF447B DZY Loves Strings 贪心

    DZY loves collecting special strings which only contain lowercase letters. For each lowercase letter ...