Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/06/2011, 06:51
ajdroid
 
Fecha de Ingreso: junio-2011
Mensajes: 1
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Menu en Android

Como te ha dicho JaimeSavines el método onPrepareOptionsMenu te proporciona lo que buscas, pero de esta forma estás sacrificando la optimización que hace Android con los menús al cachearlos, ya que obligas al sistema a limpiar el objeto menu con clear() y volver a introducir los elementos deseados cada vez que el usuario desea desplegar el menu.

Esto se sale de las guidelines de diseño que se redactan en la documentación sobre las buenas prácticas a la hora de desarrollar para un dispositivo móvil con android (http://developer.android.com/guide/practices/ui_guidelines/menu_design.html)

Las acciones principales deben ser siempre accesibles desde la UI, dejando para la tecla menú las opciones más secundarias y/o aquellas principales que se deseen complementar.

Personalmente yo te recomiendo usar el método onPrepareOptionsMenu para habilitar o deshabilitar las opciones del menu en casos específicos, pero no para rehacer el menú por completo.

Para ello puedes usar setVisibility() o setEnabled() sobre los elementos del menu que se desean manipular.

A modo de nota: onCreateOptionsMenu sólo es llamado una vez, pero onPrepareOptionsMenu es llamado cada vez que se pulsa la tecla menú, y siempre después de onCreateOptionsMenu.

Última edición por ajdroid; 03/06/2011 a las 07:00