Для каждого фрагмента я добавлю пункты меню, чтобы предоставить пользователю действия, связанные с контекстом. Но при переключении на другой Фрагмент пункты меню остались. Так что я могу закончить со всеми опциями из каждого фрагмента в меню.
Как вы очищаете пункт меню, чтобы в меню действий были настроены только те, которые настроены?
Я читал о invalidateOptionMenu() и onPrepareOPtionmenu(), но не совсем понимаю, как они работают. Как правильно это реализовать?
В любом случае, почему удаление элемента меню, связанного с фрагментом, когда фрагмент больше не отображается, не является родным поведением Android?
РЕДАКТИРОВАТЬ, если инструкции недостаточно ясны.
- У меня есть одно действие, поддерживающее Navigation_Mode_Tabs с настройками в качестве элемента глобального меню.
- Я запускаю fragA, добавляющий itemA1 и itemA2. Итак, у меня есть настройка, itemA1, itemA2. Все идет нормально.
- Затем я переключаюсь на fragB, который добавляет свой собственный itemB. ЗДЕСЬ у меня есть настройки, пункт A1, пункт A2, пункт B в меню!
Почему элементы A1 и A2 застряли? Как их удалить?
РЕДАКТИРОВАТЬ 2: я попробовал другую настройку табуляции из этого post и вдруг пункты меню вроде правильно удаляются! Это можно увидеть при использовании remove(R.id.container, фрагмент) по сравнению с onDetach()/onAttach(), которые Google рекомендует здесь
Присматриваюсь к этому, наверное завтра обновлю. Пожалуйста, если вы знаете об этом, поделитесь :)