У меня есть Activity, у которого есть 2 фрагмента. Оба являются ListFragments и оба способствуют MenuItems в меню. У меня есть один MenuItem, что я установил атрибут android: showAsAction, чтобы он отображался как кнопка на ActionBar. Что отлично работает.
Теперь MenuItem зависит от состояния. Это параметр паузы/возобновления для приостановки и возобновления очереди. Моя проблема заключается в том, что я не могу понять, как установить исходную статую при создании Фрагмента.
Состояние зависит от того, приостановлена ли очередь или нет. Поэтому у меня есть AsyncTask, которая получает очередь и устанавливает логическое (приостановленное) на основе состояния очереди. Я вызываю onPrepareOptionsMenu, чтобы установить текст для пункта меню "Пауза" на основе последнего известного состояния очереди, и это отлично работает, если я покину MenuItem в фактическом меню. Вы нажимаете значок меню, а onPrepareOptionsMenu запускается, и меню обновляется до его отображения.
Проблема в том, что если я поместил тот же MenuItem в ActionBar (showAsAction), как я могу заставить его обновляться без необходимости вызова onPrepareOptionsMenu? Мне нужно это сделать, потому что при первом запуске приложения я отправляю запрос на получение очереди, но задача возвращается после установки и отображения ActionBar. Я создал обработчик в своем фрагменте, который вызывается каждый раз, когда я получаю обновление очереди, но оттуда, как я могу обновить текст для своего MenuItem в ActionBar? Я не могу найти способ получить текущее заданное меню, чтобы манипулировать им, кроме как в onPrepareOptionMenu.
Rob W.