Когда происходит событие onCreateOptionsMenu в действии с поддержкой ActionBar? - PullRequest
11 голосов
/ 29 февраля 2012

Я знаю, что пункт меню будет установлен как значки действий в панели действий.

Я хочу точно знать эту функцию onCreateOptionsMenu, когда она вызывается в жизненном цикле действия.

Из моего теста не работает даже после включения

Ответы [ 4 ]

9 голосов
/ 29 февраля 2012

Документация гласит следующее:

public boolean onCreateOptionsMenu (Menu menu)

Инициализация содержимого стандартного меню опций Действия.Вы должны поместить свои пункты меню в меню. вызывается только один раз , при первом отображении меню параметров.Чтобы обновлять меню каждый раз, когда оно отображается, см. OnPrepareOptionsMenu (Меню).

Дальнейшее объяснение здесь: http://developer.android.com/reference/android/app/Activity.html#onCreateOptionsMenu%28android.view.Menu%29

И процитируем, что CommonsWare задает другой связанный вопрос:

Сначала вызывается метод onCreate, а до его завершения вызывается onCreateOptionsMenu.

Это будет верно для устройств и приложений с официальной панелью действий в виде сот.Если панель действий отсутствует, onCreateOptionsMenu () не должен вызываться до тех пор, пока пользователь не вызовет меню, обычно нажатием кнопки MENU.

Ссылка здесь: Android: Когдавызывается onCreateOptionsMenu в течение жизненного цикла Activity?

1 голос
/ 30 июня 2016

В моих тестах я обнаружил, что onCreateOptionsMenu вызывается после onResume, как вы можете видеть на полной диаграмме жизненного цикла:

https://raw.githubusercontent.com/xxv/android-lifecycle/master/complete_android_fragment_lifecycle.png

0 голосов
/ 22 ноября 2012

Это называется в первый раз, когда вы касаетесь специальной кнопки "options".

Я пытаюсь выяснить, когда она вызывается на ActionBar также поддерживается.

Также вы можете запроситьактивность, чтобы сделать это, (но вам нужна реализация заглушки меню)

activity.onCreatePanelMenu(Window.FEATURE_OPTIONS_PANEL, menu);
0 голосов
/ 29 февраля 2012

Я полагаю, что он вызывается одновременно с onCreate, непосредственно перед появлением меню, в данном случае - actionbar

.
...