如何解决为什么 menu.add() 在 NavigationDrawer 菜单的 onMenuItemClick() 中不起作用,但在外面起作用?
我可以完美地在onCreate()中使用Menu的add方法。但是,如果我在 onMenuItemClick() 中使用此方法,则它不起作用。只要它在他们的主体中,它就会起作用。为什么会发生这种情况?
这是我的 onCreate() 和 onMenuItemClick() 代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mNavigationView = findViewById(R.id.navigation_view); // declared as a class field
eventMenu = mNavigationView.getMenu(); // declared as a class field
setHeaderWelcomeUser(userName); // setting up the header
drawerAndToggle();// setting up the drawer layout
MenuItem eventItem = eventMenu.findItem(R.id.add_custom_event);
eventItem.setonMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// This gets executed but does not do anything
eventMenu.add(R.id.events,Menu.NONE,1,"New item");
return true;
}
});
// This gets executed and add "New Item" to already existing menu.
eventMenu.add(R.id.events,"New item");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。