2012-02-29 16 views
11

So che la voce di menu sarà impostata come icone di azione nell'azioneBar.Quando si verifica onCreateOptionsMenu in un'attività abilitata di ActionBar?

Voglio sapere esattamente questa funzione onCreateOptionsMenu, quando viene richiamata nel ciclo di vita dell'attività.

Dalla mia prova, non anche dopo onResume

+0

Basta una ricerca su Google su "onCreateOptionsMenu si chiama" recupera questo http://stackoverflow.com/questions/7705927/android-when-is-oncreateoptionsmenu-called-during-activity- ciclo di vita –

risposta

0

Credo che si chiama allo stesso tempo come onCreate, appena prima che viene visualizzato il menu, in questo caso l'ActionBar

+3

Dal mio test, nemmeno dopo onResume – virsir

+4

Non credo che verrà chiamato dopo onResume, il menu può essere creato solo una volta, per cambiarlo è necessario aggiornarlo usando 'invalidateOptionsMenu()' per richiedere al sistema di chiamare ' onPrepareOptionsMenu() ' – FabianCook

9

La documentazione dice quanto segue :

public boolean onCreateOptionsMenu (Menu menu) 

inizializzare il contenuto del menu delle opzioni standard della attività. È necessario posizionare le voci di menu nel menu. Questo è chiamato solo una volta, la prima volta che viene visualizzato il menu delle opzioni. Per aggiornare il menu ogni volta che viene visualizzato, vedere suPrepareOptionsMenu (Menu).

Ulteriori spiegazioni qui: http://developer.android.com/reference/android/app/Activity.html#onCreateOptionsMenu%28android.view.Menu%29

E citando quello che CommonsWare messo su un'altra domanda relativa:

Il metodo onCreate viene chiamato per primo, e prima che venga completata onCreateOptionsMenu viene chiamato.

Questo vale per i dispositivi e le app con barra d'azione in stile Honeycomb ufficiale. Se non è presente alcuna barra di azione, onCreateOptionsMenu() non dovrebbe essere richiamato fino a quando l'utente non richiama il menu, in genere premendo il pulsante MENU.

link qui: Android: When is onCreateOptionsMenu called during Activity lifecycle?

0

Questa è chiamata la prima volta che si tocca il tasto dedicato "opzioni".

Sto provando a capire quando viene chiamato anche su ActionBar supportato.

Inoltre, è possibile richiedere l'attività di farlo, (ma è necessario un implementazione Menu stub)

activity.onCreatePanelMenu(Window.FEATURE_OPTIONS_PANEL, menu); 
Problemi correlati