Использование ʻonPrepareOptionsMenu () `на Android 3.0+

Мне любопытно, как (если вообще) 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) , возможно?

Может быть, добавление или удаление фрагмента вызывает это?

21
задан Jake Wharton 21 May 2011 в 06:37
поделиться