如何解决除了 onCreate() 和 onResume() 的主体之外,NavigationView 菜单的 .add 不起作用
这是Process.loadModule('lib.so')
的代码
onNavigationItemSelcted
不过,我可以完美地在onCreate()和onResume()中使用这个add方法。但是,如果我在 onCreate() 或 onResume() 的 onClick() 中使用此方法,则它不起作用。只要它在他们的主体中,它就会起作用。
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Menu eventMenu = mNavigationView.getMenu();
eventMenu.add(R.id.events,Menu.NONE,1,"newEvent").setIcon(R.drawable.hangouts_white);
// extra code
}
但如果用户选择“添加项目”(导航抽屉中的菜单项之一),我需要添加一个项目。我缺少什么或我应该添加什么?
这是我的导航视图的 nav_menu XML
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mNavigationView = findViewById(R.id.navigation_view);
drawerAndToggle();//For drawerlayout setup
Menu eventMenu = mNavigationView.getMenu();
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,"New item");
return true;
}
});
// This one works fine
eventMenu.add(R.id.events,"New item");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。