2012-01-23 18 views
14

Podemos usar el método setDisplayHomeAsUpEnabled() en una actividad para mostrar la flecha "arriba" en la barra de acciones.setDisplayHomeAsUpEnabled() + Flecha hacia arriba?

Si lo entiendo correctamente, solo se supone que debemos mostrar la flecha hacia arriba si no somos la actividad raíz.

Al hacer clic en la flecha "arriba" deberíamos llevarnos a la actividad raíz. Eso es todo? Entonces debería agregar esta llamada a todas mis actividades de esta manera:

class RootActivity { 
    public void onCreate() { 
     setDisplayHomeAsUpEnabled(false); 
    } 
} 

class AppleActivity { 
    public void onCreate() { 
     setDisplayHomeAsUpEnabled(true); 
    } 
} 

class OrangeActivity { 
    public void onCreate() { 
     setDisplayHomeAsUpEnabled(true); 
    } 
} 

... 

Respuesta

26

Sí, eso es más o menos.

Hacer clic en la flecha hacia arriba debería llevarlo hacia la raíz.

y no se olvide de manejar efectivamente el clic en onOptionsItemSelected marcando la ID de artículo contra android.R.id.home

+1

Hola, una distinción que no tengo claro - se golpea la flecha hacia arriba supone que limpiar toda la pila de la actividad y saltar al usuario de vuelta a la actividad raíz? (Creo que sí, y usan la tecla de retroceso si quieren ir hacia atrás en la pila). ¡Gracias! – user291701

+5

No, no necesariamente. Puede leer al respecto [aquí] (http://developer.android.com/design/patterns/navigation.html) – lordl

Cuestiones relacionadas