禁用菜单项

时间:2012-05-26 10:01:35

标签: android android-menu

在我的Android应用程序中,我有一个带有菜单的活动“A”。我想从另一个活动“B”返回时禁用菜单项。我正在使用方法OnPrepareOptionsMenu和onActivityResult,但我不能这样做。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

您可以执行以下操作,但必须覆盖第二个活动的onDestroy方法,并将isEnabled变量设为true。

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    menu.clear();

    if (isEnabled) {
        menu.add("item").setEnabled(true);
    } else {
        menu.add("item");
    }

    return true;
}

答案 1 :(得分:1)

在添加菜单项的位置编写“if”逻辑:

类似的东西:

@Override
public boolean onPrepareOptionsMenu (Menu menu) {
    if (isFinalized)
        menu.getItem(1).setEnabled(false);
    return true;
}

如果这有任何帮助,请告诉我。

答案 2 :(得分:0)

我明白了。我知道了。通过onActivityResult,我返回了一个字符串标志“dev”

@Override
public boolean onPrepareOptionsMenu (Menu menu){
    MenuItem m=menu.getItem(0);
    if (dev.contentEquals("1")){
           m.setEnabled(false);
        }
    return true;
}

非常感谢Agarwal和Shishir