El botón 'arriba' de ActionBar destruye la actividad principal, no 'atrás'
Tengo una aplicación de Android relativamente simple con unaActivity
mostrando una lista de elementos y otra que muestra detalles de un elemento seleccionado. Comienzo la actividad de la lista, que es mi actividad principal (usandoFLAG_ACTIVITY_CLEAR_TOP
para borrar la actividad de inicio de sesión desde la que se llama) con:
Intent intent = new Intent(this, ListInstancesActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
y desde esa actividad, actúo sobre un elemento seleccionado con:
Intent detailIntent = new Intent(this, ShowInstanceActivity.class);
detailIntent.putExtra(ShowInstanceFragment.ARG_ITEM_ID, id);
startActivity(detailIntent);
Todo funciona bien, y si uso el botón 'atrás' de la tecla programable, vuelvo alListInstancesActivity
como era de esperar Sin embargo, si en cambio presiono el botón Atrás / Arriba en la barra de acción, entonces destruye y recrea elListInstancesActivity
. Esto es malo, ya que es relativamente computacionalmente costoso hacerlo.
¿Cómo puedo hacer que la barra de acción se comporte de la misma manera que la tecla programable y simplemente volver a la actividad anterior en lugar de destruirla?
Cabe señalar que estoy usando la versión de la biblioteca de soporte de la barra de acción.
Las partes relevantes de miAndroidManifest.xml
son
<activity
android:name=".agenda.ListInstancesActivity"
android:label="@string/list_instances_activity_title">
</activity>
<activity
android:name=".agenda.ShowInstanceActivity"
android:label="@string/show_instance_activity_title"
android:parentActivityName=".agenda.ListInstancesActivity">
</activity>