Actualmente estoy trabajando en una aplicación de Android. Me gustaría usar el ícono de la aplicación en la barra de acción para navegar a la actividad "hogar". Leí en la página this que todo lo que hay que hacer es agregar un onOptionsItemSelected
y buscar el id android.R.id.home
.El ícono de la aplicación haciendo clic no activa onOptionsItemSelected()
Este es el código que he implementado en mi actividad donde quiero presionar el icono de la aplicación para volver al HomeActivity
.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent(this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Sin embargo, no sucede nada. Al depurar, puedo ver que al hacer clic en el icono no se activa el onOptionsItemSelected()
. ¿Tengo que hacer algo con el ícono en alguna parte? A partir de ahora, todo está predeterminado, sólo esta en el AndroidManifest.xml
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
me han tratado sólo ha de responder al icono de la barra de acciones en una actividad que tenía un menú de opciones. Agregue temporalmente un menú de opciones y vea si eso cambia el comportamiento que ve. – CommonsWare
Considere también pasar el indicador ['FLAG_ACTIVITY_SINGLE_TOP' que evita reiniciar la actividad] (http://stackoverflow.com/a/18658364/356895). – JJD
Mi problema era que estaba en 'onOptionsItemSelected' Tenía' R.id.home' en lugar de 'android.R.id.home' ¡me volvía loco! – mbwasi