У меня есть ActionMenuView
в макете Fragment
, который не является частью панели действий / панели инструментов. Я хочу сделать что-то вроде Activity.invalidateOptionsMenu()
, но только для этого конкретного ActionMenuView
.
При вызове setHasOptionsMenu(true)
в Fragment.onCreateView()
я вижу, что Fragment.onCreateOptionsMenu()
и Fragment.onPrepareOptionsMenu()
вызываются, но с неправильным Menu
объектом. Я могу взломать это, просто проигнорировав это и использовав объект ActionMenuView
Menu
, но все это кажется очень хакерским, потому что:
- Эти обратные вызовы, похоже, предназначены для меню панели инструментов
- Неправильный
Menu
передается в обратные вызовы, что указывает, что эти обратные вызовы должны использоваться только для этого меню
- Нет смысла аннулировать меню
Activity
, когда я просто хочу сделать что-то недействительным на уровне Fragment
Что я действительно хочу, так это способ аннулировать ActionMenuView
(который в моем случае выглядит как просто значок переполнения), а затем для фактического обновления пунктов меню, которое будет выполняться лениво (при нажатии на значок переполнения) .