У мене активність, яка має 2 фрагменти. Обидва є ListFragments і обидва вносять MenuItems у меню. У мене є один MenuItem, який я встановив атрибут android: showAsAction, щоб він відображався як кнопка на ActionBar. Що чудово працює.
Тепер MenuItem залежить від стану. Це параметр меню Пауза / Відновлення для призупинення та відновлення черги. Моя проблема полягає в тому, що я не можу зрозуміти, як встановити початкову статую при створенні Фрагменту.
Її стан залежить від того, зупинена чи ні черга. Отже, у мене є AsyncTask, який отримує чергу і встановлює булеву (призупинену) грунтуючись на стані черги. Я закликаю onPrepareOptionsMenu, щоб встановити текст для пункту меню "Пауза" на основі останнього відомого стану черги, і це чудово працює, якщо залишити MenuItem у фактичному меню. Ви натискаєте піктограму меню, і onPrepareOptionsMenu запускається, а меню оновлюється до його відображення.
Проблема полягає в тому, що якщо я поставив той самий MenuItem на ActionBar (showAsAction), як я можу змусити його оновлюватись, не вимагаючи викликати onPrepareOptionsMenu? Мені потрібно це зробити, тому що при першому запуску програми я надсилаю запит на отримання черги, але завдання повертається після налаштування та відображення програми ActionBar. Я створив оброблювач у своєму фрагменті, який викликає кожен раз, коли я отримую оновлення черги, але звідти, як я можу оновити текст для свого MenuItem на ActionBar? Я, здається, не можу знайти спосіб встановити на даний момент меню для маніпулювання ним, за винятком onPrepareOptionMenu.
Роб В.