Мне любопытно, как (если вообще) onPrepareOptionsMenu(Menu)
(и, соответственно, onPreparePanel(int, View, Menu)
) используется на Android 3.0+ при нацеливании на API 11 или выше.
Я думаю следующее:
ActionBar
Activity
получает свое содержимое от onCreateOptionsMenu(Menu)
, где вы можете либо наполнить ресурс меню XML, либо добавить элементы напрямую, либо комбинацию обоих.Любые фрагменты действия также получат этот вызов и могут сделать то же самое.
Чтобы обновить элементы на панели действий, вы можете либо удержать экземпляр Menu
, либо вызвать invalidateOptionsMenu()
, который затем вызовет onCreateOptionsMenu(Menu)
снова.
Таким образом, onPrepareOptionsMenu(Menu)
тогда еще только для поддержки унаследованных приложений, которые не нацелены на API 11 или новее?
Вызывает ли getActionBar().hide()
и getActionBar().show()
вызов к onPrepareOptionsMenu(Menu)
, возможно?
Не вызывает ли это добавление или удаление фрагмента?