Я хотел бы включить/отключить все меню переполнения на панели инструментов во время выполнения в соответствии с определенными действиями пользователя. Все это внутри одного и того же фрагмента. Я попытался просто вернуться из onPrepareOptionsMenu(), если условие выполнено, которое скрывает значок трех точек, как только пользователь его коснется. Однако я не могу понять, как снова отобразить меню опций.Как динамически включить/отключить все меню переполнения?
1
A
ответ
1
Вызов getActivity().invalidateOptionsMenu()
снова вызывает onPrepareOptionsMenu()
, где вы можете загрузить/не загружать меню на основе ваших условий.
0
Просто хочу добавить еще одну вещь, если вы хотите снова или выключить меню, даже не раздувая их. Вы можете использовать параметр меню oncreateoptions следующим образом:
Переполнение меню;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mymenu, menu);
this.overflow = menu;
return super.onCreateOptionsMenu(menu);
}
а затем сделать функцию, чтобы показать или скрыть любой пункт меню в соответствии с индексом. например.
public void hideorShowMenuItems(boolean bool){
overflow.getItem(1).setVisible(bool);
overflow.getItem(2).setVisible(bool);
overflow.getItem(3).setVisible(bool);
}