Добавить подменю в меню на панели действий во время выполнения
В моем приложении у меня есть экран с меню на панели действий, на котором я показываю подменю, которые мне нужно добавить во время выполнения в зависимости от состояния процесса, работающего в фоновом режиме.
Например, предположим, что я на экране ЭКРАН, и мое меню МЕНЮ, которое имеет три подменю
MENU----> 1. SubMenu1
2. SubMenu2
3. SubMenu3
Если процесс PROCESS, работающий в фоновом режиме, завершен, я хочу отобразить меню SubMenu1 и Submenu2, в противном случае я добавлю только SubMenu3, исключая SubMenu1 и SubMenu2.
Я могу принять это решение в onCreateOptionsMenu(Menu menu)
метод, но если пользователь находится на ЭКРАНЕ, и ПРОЦЕСС завершается, SubMenu3 должен быть показан вместо ранее показанного SubMenus.
Я считаю, что это можно сделать (так как приложение Play Store добавляет меню "Мои приложения" во время выполнения). Как мне этого добиться?
1 ответ
Вы можете реализовать onCreateOptionsMenu(Menu)
и создайте меню опций там на основе текущего состояния.
Всякий раз, когда это состояние меняется, вы можете позвонить invalidateOptionsMenu()
чтобы указать, что меню опций необходимо воссоздать. Это восстановит меню и снова вызовет onCreateOptionsMenu(Menu)
как описано в http://developer.android.com/reference/android/app/Activity.html