android - 动态更改选项菜单,但是通过XML扩展

时间:2012-05-08 15:43:56

标签: android xml resources dynamically-generated android-optionsmenu

我需要能够在android上更改选项菜单(按下菜单按钮时显示的菜单),以便在一个案例中(例如按下按钮时),它将使用特定的菜单资源(菜单中的/ res / menu / ...中的XML文件),在另一种情况下,使用不同的XML文件。

到目前为止,我只看到了没有xml(例如herehere)的例子,并且它们工作正常,但我希望能够在某些情况下更改整个菜单。 我试图修改我找到的解决方案,但我的试验都没有。

如果可能的话,我宁愿重新创建菜单,只要它需要使用与当前菜单资源不同的菜单资源进行更新。

请帮帮我。

1 个答案:

答案 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根据您的要求参考您要显示的菜单。