Как сделать недействительной панель инструментов ActionMenuView во фрагменте - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть ActionMenuView в макете Fragment, который не является частью панели действий / панели инструментов. Я хочу сделать что-то вроде Activity.invalidateOptionsMenu(), но только для этого конкретного ActionMenuView.

При вызове setHasOptionsMenu(true) в Fragment.onCreateView() я вижу, что Fragment.onCreateOptionsMenu() и Fragment.onPrepareOptionsMenu() вызываются, но с неправильным Menu объектом. Я могу взломать это, просто проигнорировав это и использовав объект ActionMenuView Menu, но все это кажется очень хакерским, потому что:

  1. Эти обратные вызовы, похоже, предназначены для меню панели инструментов
  2. Неправильный Menu передается в обратные вызовы, что указывает, что эти обратные вызовы должны использоваться только для этого меню
  3. Нет смысла аннулировать меню Activity, когда я просто хочу сделать что-то недействительным на уровне Fragment

Что я действительно хочу, так это способ аннулировать ActionMenuView (который в моем случае выглядит как просто значок переполнения), а затем для фактического обновления пунктов меню, которое будет выполняться лениво (при нажатии на значок переполнения) .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...