2012-05-26 74 views
0

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

+0

我知道了。我知道了。通过onActivityResult我返回了一个字符串标志“dev” @Override public boolean onPrepareOptionsMenu(Menu menu){ \t MenuItem m = menu.getItem(0); (dev.contentEquals(“1”)){ \t m.setEnabled(false); } \t return true; } 非常感谢Agarwal和Shishir。 –

回答

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; 
} 
+0

我明白了。我知道了。通过onActivityResult我返回了一个字符串标志“dev” @Override public boolean onPrepareOptionsMenu(Menu menu){ \t MenuItem m = menu.getItem(0); (dev.contentEquals(“1”)){ \t m.setEnabled(false); } \t return true; } 非常感谢Agarwal和Shishir。 –

1

写一个“如果”的逻辑在其中添加菜单项:

是这样的:

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

让我知道,如果这是任何帮助。

0

我明白了。我知道了。通过onActivityResult我返回的字符串标志“开发”

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

非常感谢您阿加瓦尔和Shishir