繁体   English   中英

在顶部弹出节目

[英]Pop up shows at the top

我刚刚创建了带有列表项的简单弹出窗口,但是当我单击Grid项时,它在页面顶部显示了这样的弹出窗口 在此处输入图片说明 我只需要在项目网格下方显示此弹出窗口,这就是我的onClick

gridView1.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
        //Creating the instance of PopupMenu
        PopupMenu popup = new PopupMenu(getActivity(), gridView1);
        //Inflating the Popup using xml file
        popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());
        //registering popup with OnMenuItemClickListener
        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                Toast.makeText(
                        getActivity(),
                        "You Clicked : " + item.getTitle(),
                        Toast.LENGTH_SHORT
                ).show();
                return true;
            }
        });

        popup.show(); //showing popup menu
        return true;

    }
});

这是我的menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/newCheck"
        android:title="New Check"/>

    <item
        android:id="@+id/settleCheck"
        android:title="Settle Check"/>

    <item
        android:id="@+id/newGuestCheck"
        android:title="New guest Check"/>

    <item
        android:id="@+id/discountCheck"
        android:title="Discount Check"/>

    <item
        android:id="@+id/printCheck"
        android:title="Print Check"/>

</menu>

您应该更改此行

PopupMenu popup = new PopupMenu(getActivity(), gridView1);

对此

PopupMenu popup = new PopupMenu(getActivity(), view);

因此它将菜单的锚点设置为适当的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM