关闭Android弹出菜单

时间:2019-06-03 20:07:53

标签: java android

我正在尝试使用一个弹出菜单,该菜单使用动态添加的EditText框的视图。

当我没有在onTouch方法内创建新的弹出菜单时,弹出窗口将按预期方式关闭,但是,我无法找到以这种方式使用触摸的EditText视图的方法。取而代之的是,弹出窗口将显示在最后添加的EditText的视图中。

View.OnTouchListener subjectListener(final EditText editText) {
        return new View.OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                popupMenu = new PopupMenu(MainActivity.this, editText);
                popupMenu.getMenu().add("works");
                popupMenu.show();
                popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                    @Override
                    public boolean onMenuItemClick(MenuItem item) {
                        popupMenu.getMenu().close();
                        list.get((Integer) editText.getTag()).setText(item.getTitle());
                        return true;
                    }
                });
                return false;
            }
        };
    }

使用此代码,弹出菜单也会准确显示在我想要的位置,除非它不关闭,除非我多次触摸另一个EditText。这让我觉得我正在相互之间或后面创建多个弹出菜单。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

popupmenu.dismiss(); 

您可以使用它来关闭弹出窗口