Android – Menú Opciones no funcionará

Estoy tratando de crear un menú de opciones en una actividad que se inicia desde un servicio y, a continuación, cambia su interfaz de usuario basada en mensajes del servicio pasó a través de un controlador.

He configurado el menú Opciones de la siguiente manera:


/** Menu creation and setup **/ /* Creates the menu items */ public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 1, 0, "Speaker"); menu.add(0, 2, 0, "Mute"); return true; } /* Handles item selections */ public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 1: //Do something here return true; case 2: //Do something here return true; } return false; } 

Pero nunca se llama cuando mi aplicación se ejecuta en absoluto.

He experimentado problemas donde necesito utilizar un Handler para cambiar el texto en la pantalla mientras que la información se está pasando en el hilo incorrecto, podría este mismo problema ser la causa del menú que no exhibe?

Es así que ¿cómo puedo solucionarlo como no puedo anular un método en un manejador

Asegúrese de que no está consumiendo el evento clave para el menú en un controlador de claves. El evento de botón de menú se envía a través de controladores de claves antes de ser manejado por la función onCreateOptionsMenu. Esto podría estar ocurriendo en cualquier punto de vista con enfoque, o por la propia actividad. Una manera rápida de solucionar esto sería lo siguiente:

 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_MENU) return super.onKeyDown(keyCode, event); -- insert all other key handling code here -- return false; } 

Intente llamar al método super en su método onCreateOptionsMenu anulado de la siguiente manera:

 @Override public boolean onCreateOptionsMenu(Menu menu) { boolean result = super.onCreateOptionsMenu(menu); menu.add(0, 1, 0, "Speaker"); menu.add(0, 2, 0, "Mute"); return result; } 
  • Android: Llamar a métodos no estáticos desde una clase de controlador estático
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.