我需要能够在android上更改选项菜单(按下菜单按钮时显示的菜单),以便在一个案例中(例如按下按钮时),它将使用特定的菜单资源(菜单中的/ res / menu / ...中的XML文件),在另一种情况下,使用不同的XML文件。
到目前为止,我只看到了没有xml(例如here和here)的例子,并且它们工作正常,但我希望能够在某些情况下更改整个菜单。 我试图修改我找到的解决方案,但我的试验都没有。
如果可能的话,我宁愿重新创建菜单,只要它需要使用与当前菜单资源不同的菜单资源进行更新。
请帮帮我。
答案 0 :(得分:16)
如果要在首次创建后随时更改“选项”菜单,则必须覆盖onPrepareOptionsMenu()方法。
public boolean onPrepareOptionsMenu (Menu menu) {
menu.clear();
if (CASE_1 == 0) {
CASE_1 = 1;
getMenuInflater().inflate(R.menu.secondmenu, menu);
}
else {
CASE_1 = 0;
getMenuInflater().inflate(R.menu.firstmenu, menu);
}
return super.onPrepareOptionsMenu(menu);
}
其中CASE_1根据您的要求参考您要显示的菜单。