Título explica todo. Quiero abrir un submenú en la barra de acciones al hacer clic en el botón Menú de hardwareAl abrir el submenú en la barra de acciones en el botón de menú Hardware, haga clic en
Este es el código y funciona bien la primera vez que hago clic en el menú. Todas las otras veces que sólo parpadea (se abre y se cierra el instante que)
private Menu mainMenu;
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options, menu);
mainMenu = menu;
return true;
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN){
switch(keyCode) {
case KeyEvent.KEYCODE_MENU:
mainMenu.performIdentifierAction(R.id.more, 0);
return true;
}
}
return super.onKeyDown(keyCode, event);
}
y aquí está options.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/settings"
android:icon="@drawable/ic_menu_preferences"
android:showAsAction="ifRoom|withText"
android:title="Settings"/>
<item
android:id="@+id/about"
android:icon="@drawable/ic_menu_info_details"
android:showAsAction="ifRoom|withText"
android:title="About"/>
<item
android:id="@+id/more"
android:icon="@drawable/ic_menu_moreoverflow_normal_holo_dark"
android:showAsAction="always|withText"
android:title="More">
<menu>
<item
android:id="@+id/changelog"
android:icon="@drawable/ic_menu_recent_history"
android:showAsAction="ifRoom|withText"
android:title="Changelog"/>
<item
android:id="@+id/update"
android:icon="@drawable/ic_menu_refresh"
android:showAsAction="ifRoom|withText"
android:title="Update Check"/>
<item
android:id="@+id/check"
android:icon="@drawable/ic_menu_help"
android:showAsAction="ifRoom|withText"
android:title="Compatibility Check"/>
</menu>
</item>
</menu>
ACTUALIZACIÓN: Método (Solución) acaba de cambiar onKeyDown() para onKeyUp() y ahora se pega
gracias tu edición ayudó :) – Prateek
¡Muchas gracias por tu pregunta! ¡He estado buscando una solución! –
Gracias por la actualización de la solución – antongorodezkiy