zoukankan      html  css  js  c++  java
  • 关于PopupMenu的用法

    Android应用中,时常需要弹出临时的子菜单,如很多应用中,长按就会弹出一些子选项菜单。在此记录ListView的items长按弹出子菜单的步骤。

    1、在menu包中新建xml文件,决定菜单的内容与次序

        <item android:id="@+id/blakc_delete" android:title="恢复联系人"
            android:orderInCategory="100"
            app:showAsAction="never"/>
        <item android:id="@+id/black_info" android:title="查看详情"
            android:orderInCategory="99"
            app:showAsAction="never"/>

    其中android:orderInCategory决定了子菜单item的顺序,数字小的出现在上面;如果item一样,就考虑它们在xml中的位置,写在上面的就出现在上面。

    2、创建ListView的item长按触发事件

            ListView list = (ListView) findViewById(R.id.black_list);
            list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
                @Override
                public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
                    
                    return true;
                }
            });

    position表示是ListView中的第几个item被长按了。

    3、创建子菜单并获取这个menu界面

                    PopupMenu popupMenu = new PopupMenu(BlackNumberInfo.this , view);
                    getMenuInflater().inflate(R.menu.black_menu,popupMenu.getMenu());

    4、创建子菜单的item点击事件,并用title来甄别点的是哪个item

                        public boolean onMenuItemClick(MenuItem item) {
                            if(item.getTitle().equals("恢复联系人")){
                                listManagerDelete(position);
                                Toast.makeText(BlackNumberInfo.this,"已恢复此联系人",Toast.LENGTH_SHORT).show();
                            }
                            else if(item.getTitle().equals("查看详情")){
                                Toast.makeText(BlackNumberInfo.this,"我啥也不会做。。。",Toast.LENGTH_SHORT).show();
                            }
                            return false;
                        }
                    });

    5、一定要显示子菜单,不然啥都没有!!!

                    popupMenu.show();

    以上

  • 相关阅读:
    smarty基础
    smarty变量
    Google的Python代码格式化工具YAPF详解
    性能监控工具YourKit
    Scala学习笔记2
    Scala介绍
    线段树
    字符串分割方法
    Trie树
    Scala 学习笔记
  • 原文地址:https://www.cnblogs.com/fishbone-lsy/p/4230354.html
Copyright © 2011-2022 走看看