我在我的代码中使用弹出菜单。它完美地运作。但是当我从中选择一个项目时,菜单并没有消失。 我试过了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();
请有人帮助我。
答案 0 :(得分:1)
尝试以下代码,它将适合您
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 ,您的问题就会得到解决。
答案 1 :(得分:0)
这应该是代码块。返回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;
}