2012-09-13 11 views
9

Fragmento A tiene foco. Cuando se crea Fragmento B, B gana el foco ahora. Esto ocasiona que A pierda el foco, pero sigue estando visible. Ahora si se destruye B, A vuelve a ganar el foco. Como A recupera el foco, ¿se llama a su método onResume()? Si no, ¿por qué?Cuando un fragmento ha perdido el foco y luego recupera el foco, ¿por qué su método onResume() nunca se llama en el período?

(Un y B están en la misma actividad.)

+0

Agregue un registro para averiguarlo. –

+0

Según el registro, encuentro que el método de onResume() nunca se llama. Soy muy confuso. – Europa

Respuesta

12

El método onResume() no se llama en el caso que usted describe. Consulte el documentation on the android fragment lifecycle.

onResume() se llama la primera vez que se agrega el fragmento a la interfaz de usuario, y luego cada vez que se vuelve a poner en pausa. Un fragmento se pararía si se agrega a la pila posterior, el usuario pulsa el botón de inicio y oculta la aplicación, o si alguna otra aplicación toma el teléfono (por ejemplo, el usuario recibe una llamada telefónica). En términos generales, si su fragmento y la aplicación son completamente visibles, el fragmento no se está pausando.

El enfoque de IU no se debe confundir con el ciclo de vida de la actividad/fragmento. La situación que está describiendo parece más adecuada para un OnFocusChangeListener.

+0

¡Muchas gracias! Ahora me haces entender mi problema más. – Europa

+0

OnFocusChangeListener se aplica a Vistas, no a Fragmentos. ¿Cómo lo usarías aquí? –

Cuestiones relacionadas