8

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

到目前为止,我只看到了在没有 xml 的情况下执行此操作的示例(此处此处的示例),并且它们运行良好,但我希望能够在某些情况下更改整个菜单。我试图修改我找到的解决方案,但我的试验都没有奏效。

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

请帮我。

4

1 回答 1

17

如果您想在第一次创建选项菜单后随时更改它,您必须重写 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 是指根据您的要求要显示的菜单。

于 2012-05-08T16:05:06.653 回答