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

and*_*per 8 xml resources android dynamically-generated android-optionsmenu

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

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

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

请帮我.

Sha*_*wal 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);
}
Run Code Online (Sandbox Code Playgroud)

其中CASE_1根据您的要求参考您要显示的菜单.

  • 或者,您可以根据需要将每个菜单的单个xml和setVisiblity设置为true或false.请参阅http://stackoverflow.com/questions/9030268/set-visibility-in-menu-programatically-android (2认同)