2012-02-29 9 views
11

Sé que el elemento del menú se establecerá como iconos de acción en la Barra de acciones.¿Cuándo ocurre onCreateOptionsMenu en una actividad habilitada para ActionBar?

Quiero saber exactamente esta función onCreateOptionsMenu, cuando llama en el ciclo de vida de la actividad.

Desde mi prueba, no incluso después de onResume

+0

Sólo una búsqueda en Google sobre "onCreateOptionsMenu se llama" recupera esta http://stackoverflow.com/questions/7705927/android-when-is-oncreateoptionsmenu-called-during-activity- ciclo de vida –

Respuesta

0

creo que se llama, al mismo tiempo que onCreate, justo antes de que aparezca el menú, en este caso el actionbar

+3

De mi prueba, ni siquiera después de onResume – virsir

+4

No creo que se llame después de On Reesume, el menú solo se puede crear una vez, para cambiarlo necesitas actualizarlo usando 'invalidateOptionsMenu()' para solicitar al sistema que llame ' onPrepareOptionsMenu() ' – FabianCook

9

La documentación dice lo siguiente :

public boolean onCreateOptionsMenu (Menu menu) 

inicializar el contenido del menú de opciones estándar de la actividad. Debe colocar sus elementos de menú en el menú. Esto es solo llamado una sola vez, la primera vez que se muestra el menú de opciones. Para actualizar el menú cada vez que se muestra, consulte onPrepareOptionsMenu (Menú).

una explicación más detallada aquí: http://developer.android.com/reference/android/app/Activity.html#onCreateOptionsMenu%28android.view.Menu%29

y citando lo CommonsWare puso en otra pregunta relacionada:

El método onCreate se llama en primer lugar, y antes de que termine onCreateOptionsMenu se llama.

Eso será cierto en dispositivos y aplicaciones con una barra de acción oficial estilo Honeycomb. Si no hay una barra de acciones, onCreateOptionsMenu() no se debe llamar hasta que el usuario llame al menú, generalmente presionando el botón MENÚ.

Enlace aquí: Android: When is onCreateOptionsMenu called during Activity lifecycle?

0

Esto se conoce como la primera vez que se toca el botón dedicado "opciones".

Estoy tratando de averiguar cuándo es compatible con ActionBar también.

Además, se puede solicitar la actividad de hacerlo, (pero se necesita una implementación de código auxiliar Menú)

activity.onCreatePanelMenu(Window.FEATURE_OPTIONS_PANEL, menu); 
Cuestiones relacionadas