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


Acción del elemento Android: onCreateOptionsMenu ()

Tengo un menú creado a través de:

@Override public boolean onCreateOptionsMenu(Menu menu) { menu.add("Email"); return super.onCreateOptionsMenu(menu); } 

Pero no puedo recordar cómo fijar un onclicklistener así que cuando su seleccionado puedo funcionar mi función del email.

  • DialogFragment: Utilizar AlertDialog con diseño personalizado
  • Crear lista de capas con esquinas redondeadas mediante programación
  • Android 4.2.2 Depuración USB "Permitir siempre desde este equipo" opción resultado en el objetivo desconocido para el dispositivo?
  • No se puede depurar a través de onReceive () en el arranque completado receptor
  • Monte imágenes del emulador de Android
  • ¿Cómo utilizar ADB para enviar eventos táctiles al dispositivo utilizando comando sendevent?
  • ¿Cómo se maneja el error en Retrofit 2? ¿No encuentro la clase RetrofitError que sugiere la mayoría de las soluciones?
  • Desactivar el gesto de desplazamiento que abre el cajón de navegación en android
  • CardView animación: aumentar y ampliar en hacer clic?
  • Error en el lanzamiento de AVD - El sistema de archivos ya está bloqueado por 140800 (4k) - Nada que hacer
  • SQL Android Formulación de consultas con múltiples condiciones
  • Gridview multilínea Vista de texto cortada
  • 4 Solutions collect form web for “Acción del elemento Android: onCreateOptionsMenu ()”

    Anular onOptionsItemSelected(MenuItem item) . Así que sería como

     @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 0: // do whatever return true; default: return super.onOptionsItemSelected(item); } } 

    EDITAR:

    Puesto que esto ha conseguido tantos puntos, debo tener en cuenta que es muy bueno para agregar ID a las opciones del menú. Una buena manera de asegurarse de que son siempre únicas es definirlas en un recurso ids.xml que se coloca en la carpeta res/values .

    Ids.xml

     <resources> <item name="menu_action1" type="id"/> <item name="menu_action2" type="id"/> <item name="menu_action3" type="id"/> </resources> 

    Entonces, cuando anula el onCreateOptionsMenu(Menu menu) , puede utilizar los IDs de la siguiente manera:

     @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.add(Menu.NONE, R.id.menu_action1, Menu.NONE, R.string.menu_action1); menu.add(Menu.NONE, R.id.menu_action2, Menu.NONE, R.string.menu_action1); return true; } 

    Anular onOptionsItemSelected(MenuItem item) .

     @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_action1: // do whatever return true; case R.id.menu_action2: // do whatever return true; default: return super.onOptionsItemSelected(item); } } 

    La razón por la que hace esto es que la Activity anularía esto con opciones de menú, pero Fragments también puede agregar sus propios elementos de menú. El uso de ids.xml garantiza que los identificadores son únicos, independientemente del orden en que se coloquen.

    Eso no funcionará. Debe definir IDs para los elementos del menú:

     public static final int MENU_ADD = Menu.FIRST; public static final int MENU_DELETE = Menu.FIRST + 1; @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.add(Menu.NONE, MENU_ADD, Menu.NONE, "Add"); menu.add(Menu.NONE, MENU_DELETE, Menu.NONE, "Delete"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case MENU_ADD: return true; case MENU_DELETE: return true; default: return super.onOptionsItemSelected(item); } } 

    De la guía de desarrolladores de Android

     @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case R.id.new_game: newGame(); return true; case R.id.help: showHelp(); return true; default: return super.onOptionsItemSelected(item); } } 
      public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case R.id.itemid: //do cool stuff break; } } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.