2011-09-26 21 views
7

Información sobre por qué estoy intentando hacer esto: estoy usando ActivityGroups para abrir una actividad de una actividad de tabHost y mantener esa actividad nueva debajo de las pestañas. Esa parte que tengo. Pero cuando en esa nueva actividad, si utilizo el botón Atrás me saca de la actividad de pestañas, así que tengo que hacer clic varias veces para volver a donde estaba.Anular botón Atrás de Android

¿Hay alguna manera de configurar el botón Atrás para ir a una actividad específica en lugar de eliminar la ventana de actividad actual?

+0

http://stackoverflow.com/q/2459848/632951 – Pacerier

Respuesta

5

En general, desaconsejaría eso porque rompe el UX. El usuario espera que el botón Atrás elimine toda la ventana, especialmente porque está utilizando el tabhost. Para el usuario, todo el grupo (pestañas y todo) es una actividad única que quiere salir cuando presiona el botón Atrás.

Si aún desea hacerlo, consulte #onBackPressed(). Se invoca cuando la actividad ha detectado que el usuario presiona la tecla Atrás. El valor predeterminado es finalizar la actividad, pero puede hacer que haga lo que quiera. Aconsejo cuidado y precaución.

Puede encontrar algo de inspiración en here.

+0

Estoy de acuerdo con no querer romper el UX. Después de pensarlo un poco más, aunque sería conveniente e incluso tendría sentido en mi situación. Tendré que idear otro método para ir y venir. – ryandlf

7

Creo que usted debería ser capaz de hacer algo como esto:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
     // start new Activity here 
    } 
    return super.onKeyDown(keyCode, event); 
} 

Pero por encima de la funcionalidad esperada del botón de retroceso no es aconsejable.

+0

Creo que es una buena forma de realizar una navegación. Siempre que el enfoque visual sea transparente para el usuario y el usuario pueda activar el comportamiento predeterminado de un clic posterior cuando llegue al * inicio de la navegación * (tal vez con un doble clic; si el usuario hace clic para desacelerar, podría mostrarse un tostada indirecta) – Knickedi

+0

Trabajó para mí Gracias –

Cuestiones relacionadas