zoukankan      html  css  js  c++  java
  • android-上下文菜单的创建

    //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, "查看信息
    }

  • 相关阅读:
    Window 窗口类
    使用 Bolt 实现 GridView 表格控件
    lua的table库
    Windows编程总结之 DLL
    lua 打印 table 拷贝table
    使用 xlue 实现简单 listbox 控件
    使用 xlue 实现 tips
    extern “C”
    COleVariant如何转换为int double string cstring
    原来WIN32 API也有GetOpenFileName函数
  • 原文地址:https://www.cnblogs.com/qiaoxu/p/4613590.html
Copyright © 2011-2022 走看看