studio programacion herramientas fundamentos con avanzado aplicaciones android android-activity android-actionbar android-navigation up-navigation

programacion - manual de android en pdf



¿Cómo configuro la actividad padre de una actividad en tiempo de ejecución? (2)

Tengo un número arbitrario de vistas / actividades jerarquizadas. La barra de acciones debe mostrar el botón de navegación Arriba para navegar a un nivel superior en cualquier vista. Para esto, la documentación de google dice que tengo que establecer la actividad principal con una etiqueta en la definición xml de la actividad. Sin embargo, estoy creando mis actividades dinámicamente y un elemento secundario puede ser de la misma actividad que su elemento primario.

Entonces, ¿cómo configuro la actividad principal para la instancia padre real en tiempo de ejecución?


Hay dos formas de apoyar correctamente la navegación ''hacia arriba''.

Vea mi respuesta a una pregunta similar aquí: https://.com/a/34775181/4839264


Parece que estás confundiendo la navegación hacia arriba y hacia atrás.

El botón de arriba debe ser determinista. Desde una pantalla determinada, el botón de subir siempre debe llevar al usuario a la misma pantalla.

El botón Atrás no siempre debe llevar al usuario a la misma pantalla. El objetivo del botón Atrás es ayudar al usuario a retroceder en la aplicación cronológicamente. Debería llevar al usuario a la pantalla anterior.

Si no hay una jerarquía clara de pantallas (p. Ej., No hay pantallas principales / secundarias), es posible que no necesites implementar la navegación en absoluto.

Ver: Navegación con Arriba y Atrás

Una opción para anular el comportamiento del botón predeterminado es simplemente interceptar los clics del botón y manejarlo usted mismo. Por ejemplo:

@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Respond to the action bar''s Up/Home button case android.R.id.home: // Launch the correct Activity here return true; } return super.onOptionsItemSelected(item); }