Reputation: 821
i have added overflow icon on action bar but now for some condition i want to hide it, Is there any way to hide this icon programtically.
Upvotes: 1
Views: 400
Reputation: 5636
For the particular condition you want to hide menus, you can manually call invalidateOptionsMenu();
in your activity class and in your onPrepareOptionsMenu
method setVisible(false);
for all the menu items you have.
For example
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);
}
}
When you want it to be visible again, again call invalidateOptionsMenu();
and make sure the condition inside onPrepareOptionsMenu
method gets false so that else part is executed.
Upvotes: 1