如何隐藏操作栏中的菜单项?

如何隐藏操作栏中的菜单项?

我有一个带有menuitem的操作栏。如何隐藏/显示该菜单项?

这就是我想要做的:

MenuItem item = (MenuItem) findViewById(R.id.addAction);item.setVisible(false);this.invalidateOptionsMenu();


慕村9548890
浏览 490回答 3
3回答

慕村225694

获取MenuItem指向此类项目,调用setVisible它以调整其可见性,然后调用invalidateOptionsMenu()您的活动,以便相应地调整ActionBar菜单。更新: A MenuItem不是您的布局的常规视图。它的特殊之处,完全不同。你的代码返回null了item,并且是造成死机。你需要做的是:MenuItem item = menu.findItem(R.id.addAction);这是你应该调用的顺序:首先调用invalidateOptionsMenu()然后在里面onCreateOptionsMenu(Menu)获取对MenuItem的引用(通过调用menu.findItem())并调用setVisible()它

侃侃尔雅

您正尝试从活动访问菜单项,该活动无权访问范围。查找菜单项的调用将返回null,因为视图没有绑定活动或调用的布局。菜单项与诸如“ 导航栏 ”之类的项目绑定,而“ 导航栏 ”又与相应的活动绑定。因此,在activity()中初始化这些视图,然后使用该视图访问菜单项。Navigation navView;navView = findViewById(R.id.navigationView);MenuItem item = navView.getMenu().findItem(R.id.item_hosting);item.setVisible(false);
打开App,查看更多内容
随时随地看视频慕课网APP