在 Android 中单击项目时如何关闭弹出菜单

How to dismiss a PopUp Menu when an Item Clicked in Android

我在我的代码中使用弹出菜单。它工作得很好。但是当我 select 中的一个项目时,菜单没有关闭。 我试过了 this 。但它不起作用

这是我的代码

 PopupMenu popup = new PopupMenu(this, edit1);
        //inflating menu from xml resource
        popup.inflate(R.menu.options_menu);
        popup.getMenu().add("one");
        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                // if (item.getTitle().equals("one")) {
                Toast.makeText(MainActivity.this, "You Clicked : " + item.getTitle(), Toast.LENGTH_SHORT).show();

        popup.dismiss();
        return false;
            }
        });
        //displaying the popup
        popup.show();

请有人帮助我。

这应该是代码块。返回true表示点击处理成功

@Override
public boolean onMenuItemClick(MenuItem item) {
   // if (item.getTitle().equals("one")) {
   Toast.makeText(MainActivity.this, "You Clicked : " + item.getTitle(), Toast.LENGTH_SHORT).show();
   return true;
}

试试下面的代码,它会为你工作

 popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                // if (item.getTitle().equals("one")) {
                Toast.makeText(MainActivity.this, "You Clicked : " + item.getTitle(), Toast.LENGTH_SHORT).show();
                popup.dismiss();

                return true;
            }
        });

如果您使用 onTouchListener 作为 EditText,我会看到您的评论。只需将其更改为 onClickListener 即可解决您的问题。