Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Jelly bean no llamando aPrepareOptionsMenu () al abrir el menú por primera vez

Estoy anulando onPrepareOptionsMenu para ocultar y mostrar elementos del menú. Al probarlo con el emulador de API nivel 16; OnPrepareOptionsMenu no se llama al abrir el menú por primera vez. Pero cuando vuelvo a abrir el menú funciona. El problema es sólo con el primer uso. Usted puede probarlo simple con esto;

@Override public void onPrepareOptionsMenu(Menu menu) { Toast.makeText(this.getActivity(), "pre", Toast.LENGTH_SHORT).show(); super.onPrepareOptionsMenu(menu); } 

¿Algunas ideas?

  • En la pestaña de galaxias, onCompletionListener de videoView no se recibe
  • Android: WebView deja de cargarse después de varias páginas
  • Controle Raspberry Pi a través de un dispositivo Android conectado con Android
  • Proteger un socket en VpnService
  • Indicador de página en android
  • Barra de estado de degradado en Android Lollipop
  • Notificación si Bluetooth está desactivado en la aplicación android
  • Androide spinner y array adaptador de forma programática
  • 2 Solutions collect form web for “Jelly bean no llamando aPrepareOptionsMenu () al abrir el menú por primera vez”

    onPrepareOptionsMenu() se llama cada vez que el usuario abre el menú en Gingerbread y abajo. Desde Honeycomb hasta el menú de opciones se supone que siempre estará abierto cuando los elementos están presentes en el ActionBar.

    Si desea actualizar el menú de opciones durante el ciclo de vida de sus actividades y dentro de la devolución de llamada onPrepareOptionsMenu() , debe llamar a invalidateOptionsMenu() y se onPrepareOptionsMenu() .

    ¿No podría implementar el código para su primer uso en la devolución de llamada onCreateOptionsMenu() ? Se llama cada vez que se crea el menú de opciones y se crea en el primer uso.

    Es un error de android: https://code.google.com/p/android/issues/detail?id=24231

    Cuando presione por primera vez el botón de menú, llame a invalidateOptionsMenu() o supportInvalidateOptionsMenu() si utiliza la biblioteca de soporte.

     @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch(keyCode) { case KeyEvent.KEYCODE_MENU: if(mIsMenuFirstClick) { mIsMenuFirstClick = false; supportInvalidateOptionsMenu(); } } return super.onKeyDown(keyCode, event); } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.