2012-05-26 2 views
0

В моем приложении Android у меня есть действие «A» с меню. Я хочу отключить пункт меню, когда вы возвращаетесь из другого действия «B». Я использую методы OnPrepareOptionsMenu и onActivityResult, но я не могу этого сделать. Есть идеи?Отключить пункт меню

+0

я получил его. Я понял. By onActivityResult Я вернул флаг строки «dev» @Override public boolean onPrepareOptionsMenu (меню меню) { \t MenuItem m = menu.getItem \t if (dev.contentEquals ("1")) { \t m.setEnabled (false); } \t return true; } Большое спасибо Агарвалу и Шиширу. –

ответ

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

Я понял. Я понял. By onActivityResult Я вернул флаг строки «dev» @Override public boolean onPrepareOptionsMenu (меню меню) { \t MenuItem m = menu.getItem \t if (dev.contentEquals ("1")) { \t m.setEnabled (false); } \t return true; } Большое спасибо Агарвалу и Шиширу. –

1

Написать «если» логика, где вы добавить пункты меню:

что-то вроде этого:

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

Позвольте мне знать, если это какой-либо помощи.

0

У меня есть. Я понял. По onActivityResult я вернулся струнный флаг «Dev»

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

большое спасибо Агарвал и Шишир

Смежные вопросы