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