嗨,这是我的第一个问题。我正在学习android。在这里,我正在尝试设置菜单图标顶部菜单栏。
我在菜单中添加了一组项目。我想管理活动中的图标。
我正在尝试显示隐藏菜单图标。
菜单在onCreate
中返回null。
有没有其他方法可以动态管理menu
图标?
请帮忙。
这是我正在尝试管理菜单的activity
类代码段。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mMenu = (Menu) findViewById(R.id.menuBar);//here Menu return null
mMenuItem = mMenu.getItem(2);
mMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
mMenuItem.setVisible(true);
}
非常感谢您的帮助。感谢。
答案 0 :(得分:1)
不要把它放在你的onCreate上,因为你的菜单是在onCreateOptionsMenu中初始化的
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.your_menu, menu);
mMenuItem = menu.getItem(2);
mMenuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
mMenuItem.setVisible(true);
return true;
}
答案 1 :(得分:1)
在MenuItem
方法activity
中获取onCreateOptionsMenu
的第一个menu.getItem
菜单,然后尝试获取 @Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.menu_activity, menu);
MenuItem item=menu.getItem(2);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
item.setVisible(true);
return true;
}
,如下所示:
{{1}}
答案 2 :(得分:0)
步骤1:
您需要从 onCreateOptionsMenu(菜单菜单)
中添加菜单项
第2步:
您需要一个 MenuInflater 对象,可以使用 getMenuInflater()获取该对象
API。就像: MenuInflater inflater = getMenuInflater();
第3步:
为您添加 menu xml 文件,例如: inflater.inflate(R.menu.menu_bottom_nav,
菜单);
第4步:
您必须获取特定项目的菜单对象,例如:MenuItem menuItem =
menu.getItem(index)。 索引是数字,具体取决于哪个菜单项
您想要获取的对象。
完整代码示例:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_bottom_nav, menu);
MenuItem menuItem = menu.getItem(0);
return true;
}