我正在尝试使用一个弹出菜单,该菜单使用动态添加的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。这让我觉得我正在相互之间或后面创建多个弹出菜单。
有什么想法吗?
答案 0 :(得分:0)
popupmenu.dismiss();
您可以使用它来关闭弹出窗口