tipos studio para menus desplegable contextual context bar android menu optionmenu

android - studio - ¿Qué hace onPrepareOptionsMenu?



popup menu android studio (3)

Quiero hacer Option Menu para Android, he visitado este sitio. En su script, encontré onPrepareOptionsMenu , trato de compilar y correr usando el compilador Android 2.3.3 con y sin onPrepareOptionsMenu , ambos funcionan, pero no vi ninguna diferencia.

public boolean onCreateOptionsMenu(Menu menu){ //code here } public boolean onOptionsItemSelected(MenuItem item){ //code here } public boolean onPrepareOptionsMenu(Menu menu){ //code here }

¿Qué es realmente el método onPrepareOptionsMenu ? ¿Es ese método importante? ¿Podría simplemente eliminar el método?

Adición

Oh, también escuché sobre la Action Bar en Android 3.0, dice que la barra de acción es la forma alternativa de hacer el Option Menu , y que usa onPrepareOptionsMenu . ¿Está bien?

Gracias...


Echa un vistazo en la API :

Prepare el menú de opciones estándar de la pantalla que se mostrará. Esto se llama justo antes de que se muestre el menú, cada vez que se muestra. Puede usar este método para habilitar / deshabilitar elementos de manera eficiente o para modificar dinámicamente los contenidos.


Si desea modificar el menú antes de que se lo muestre al usuario, puede poner código para hacerlo en onPrepareOptionsMenu . Lo he usado dinámicamente para deshabilitar algunas opciones de menú en algunas circunstancias.

Como ejemplo de cuándo es posible que desee deshabilitar una opción de menú, tuve una aplicación donde había una forma de especificar un destino. Una de mis opciones de menú era calcular una ruta al destino. Sin embargo, si no se especificaba un destino, esa opción no se aplicaba, así que usé onPrepareOptionsMenu para deshabilitar esa opción de menú cuando no era aplicable.

Desde Android 3.0 y más allá, está la barra de acción, que es una barra de menú. Los elementos más importantes van a la barra de acción en sí, pero luego hay un desbordamiento para cuando no hay suficiente espacio en la barra de acción. Se puede especificar que los elementos del menú siempre deben estar en el menú de desbordamiento y nunca en la barra de acción. En algunos dispositivos, el desbordamiento de la barra de acción corresponde al botón de menú permanente del dispositivo, mientras que en otros dispositivos que no tienen un botón de menú, el menú de desbordamiento se ve en el lado derecho de la barra de acción como tres puntos verticales.


onCreateOptionsMenu se llama una vez, cuando su actividad se crea por primera vez. Si devuelve falso, no se muestra el menú de opciones y nunca se llama a OnPrepareOptionsMenu.

Si onCreateOptionsMenu devuelve verdadero, también se llama a onPrepareOptionsMenu antes de que se muestre la actividad, y también cada vez que se invalida el menú de opciones. Use onPrepareOptionsMenu si necesita habilitar / deshabilitar, mostrar / ocultar o agregar / eliminar elementos después de crearlo.

Si su menú no cambia, use onCreateOptionsMenu.