android 中的菜单 return 为空
Menu return null in android
嗨,这是我的第一个问题。我正在学习 android。我在这里尝试设置菜单图标顶部菜单栏。
我在菜单中添加了项目集。我想管理来自 activity 的图标。
我正在尝试显示隐藏菜单图标。
onCreate
中的菜单 return 为空。
还有其他方法可以动态管理 menu
图标吗?
请帮助。
这是我尝试管理菜单的 activity
class 代码片段。
@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);
}
感谢您的帮助。谢谢。
不要把它放在你的 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;
}
首先 inflate
菜单在 activity
方法 onCreateOptionsMenu
中获得 MenuItem
然后尝试像这样获得 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 步:
您需要从 onCreateOptionsMenu(Menu menu)
膨胀菜单项
第 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;
}
嗨,这是我的第一个问题。我正在学习 android。我在这里尝试设置菜单图标顶部菜单栏。
我在菜单中添加了项目集。我想管理来自 activity 的图标。
我正在尝试显示隐藏菜单图标。
onCreate
中的菜单 return 为空。
还有其他方法可以动态管理 menu
图标吗?
请帮助。
这是我尝试管理菜单的 activity
class 代码片段。
@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);
}
感谢您的帮助。谢谢。
不要把它放在你的 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;
}
首先 inflate
菜单在 activity
方法 onCreateOptionsMenu
中获得 MenuItem
然后尝试像这样获得 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 步:
您需要从 onCreateOptionsMenu(Menu menu)
膨胀菜单项
第 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;
}