Tengo una actividad con un panel doble: una lista de elementos de menú a la izquierda (fragmento M) y detalles del elemento seleccionado actualmente a la derecha (fragmento D).Android onConfigurationChanged: cómo guardar y restaurar el fragmento de la pila de nuevo?
Cuando el usuario selecciona un elemento en el fragmento D, el fragmento D se reemplaza por otro fragmento (llamémoslo D1). Cuando el usuario selecciona un elemento en el fragmento D1, el fragmento D1 se reemplaza por otro fragmento (llamémoslo D2), y así sucesivamente. Por supuesto, cuando el usuario presiona el botón Atrás, puede retroceder en el historial de fragmentos: D2-> D1-> D.
Mi problema es: ¿cómo puedo guardar y restaurar la pila completa de fragmentos tras el cambio de configuración (en particular, en la orientación de la pantalla)?
Me parece muy extraño que nadie más haya tenido este problema antes, pero no encontré nada al respecto durante mis búsquedas en Google y Stack Overflow. Si me perdí una publicación relevante, por favor dirígeme a ella.
Sé que podría simplemente agregar el atributo android:configChanges="orientation|screenSize"
a mi actividad para evitar actividades recreativas, pero simplemente no puedo hacer eso.
La razón por la que no puedo hacer eso es porque estoy usando Action Bar Sherlock (vers. 4) para compatibilidad con versiones anteriores y ese componente necesita actividades de recreación para comportarse correctamente al cambiar la configuración, AFAIK.
Si hay otra forma de volver a crear el componente Action Bar Sherlock sin destruir y volver a crear la actividad, hágamelo saber.
Gracias de antemano.
@ Iarham1 Gracias por su respuesta, pero, desafortunadamente, ABS 4 todavía tiene algunos problemas en algunas versiones del sistema operativo (por ejemplo, 2.3.7) cuando se establece android: configChanges = "orientation", como se describe en [número 279] (https://github.com/JakeWharton/ActionBarSherlock/issues/279#issuecomment-4934511), por lo que esta no es una solución viable, en este momento. Espero que Jake Wharton lo solucione en un futuro próximo, pero, mientras tanto, ¿usted o alguien más sabe cómo guardar y restaurar el conjunto completo de fragmentos al cambiar la configuración? ¿O alternativamente, cómo ajustar el código ABS para recrear programáticamente solo ABS en el cambio de configuración? – Luke