android - 如何动态更改 onCreateOptionsMenu 中的菜单

标签 android actionbarsherlock android-menu

我有一个小问题,我想用动态菜单解决它:

public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
    switch(Globals.editMode){
    case Globals.MODE_NONE:
        getSupportMenuInflater().inflate(R.menu.imagehandlingmain_menu, menu);
        break;
    case Globals.MODE_MOVE:
        getSupportMenuInflater().inflate(R.menu.savecancel_menu, menu);
        break;
    case Globals.MODE_ROTATE:
        getSupportMenuInflater().inflate(R.menu.savecancel_menu, menu);
        break;
    case Globals.MODE_SCALE:
        getSupportMenuInflater().inflate(R.menu.savecancel_menu, menu);
        break;
    }
    //getSupportMenuInflater().inflate(R.menu.imagehandlingmain_menu, menu);
    return true;

我有两个菜单,一个是可以选择工作模式的菜单,另一个是在某些工作模式下菜单应该变为“取消”和“保存”。

所以这个想法是你进入其中一种模式,然后如果你决定不保存你的工作,你可以取消它并返回到之前的状态。

现在,正如我假设 onCreateOptionsMenu 只被调用一次,那么我如何/应该如何在需要时“重新加载”整个菜单?

最佳答案

您可以使用 Activity.invalidateOptionsMenu() .顾名思义,这将使当前菜单无效,因此将再次调用 Activity.onPrepareOptionsMenu()

关于android - 如何动态更改 onCreateOptionsMenu 中的菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12561033/

相关文章:

android - 在图库 View (及其 subview )之上自定义绘图

java - 如何在android中创建底部菜单

android - 在 Android 4.0.3 中为选项菜单创建网格样式布局

android - 如何隐藏共享操作提供者附近的共享操作(最常用的)图标?

android - ActionBarSherlock 在选项卡导航和 ActionMode 上重叠

带有选项卡的 Android Actionbar Sherlock

android - showAsAction = "always"在工具栏中被忽略

android - 如何在 android 上移植 native c 代码

android - 使用 2 个 View 之间的分隔线创建 android Activity

android - 升级后Android Studio连接超时