2015-04-22 5 views

ответ

1

Для конкретного условия, которое вы хотите скрыть меню, вы можете вручную вызвать invalidateOptionsMenu(); в своем классе активности и в свой onPrepareOptionsMenu метод setVisible(false); для всех пунктов меню, которые у вас есть.

Например

public void someMethod(){ 
    if (<somecondition>){ 
     invalidateOptionsMenu(); 
    } 
} 

@Override 
public boolean onPrepareOptionsMenu(Menu menu) { 
    if (<somecondition>){ 
     menu.findItem(R.id.action_one).setVisible(false); 
     menu.findItem(R.id.action_two).setVisible(false); 
     menu.findItem(R.id.action_three).setVisible(false); 
    }else{ 
     menu.findItem(R.id.action_one).setVisible(true); 
     menu.findItem(R.id.action_two).setVisible(true); 
     menu.findItem(R.id.action_three).setVisible(true); 
    } 
} 

Если вы хотите, чтобы это было видно снова, снова позвонить invalidateOptionsMenu(); и убедитесь, что состояние внутри onPrepareOptionsMenu метод получает ложное, так что еще часть выполнена.

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