Esta es una pregunta de diseño, en lugar de técnica.Android: forma correcta de saltar entre fragmentos
Caso general: Quiero un evento de IU en un Fragmento para realizar cambios en toda la actividad.
Caso específico: Tengo dos fragmentos alojados en la misma actividad. Cuando el usuario hace clic en un botón en uno de esos fragmentos, quiero que sea reemplazado por el otro.
I no quiero, sin embargo, mis Fragmentos tocan mi actividad. Es posible que desee cambiar el comportamiento más tarde (tal vez, en una pantalla más grande, mostrar ambos fragmentos en lugar de reemplazar el primero), y no quiero que mi código de Fragmento tenga esa lógica.
Lo que hice fue implementar una clase Listener
en mis fragmentos, que informa eventos al Activity
. De esta forma, si quiero usar otra clase Activity
con un comportamiento de visualización diferente, puedo simplemente cambiar el oyente y dejar intacto el código Fragment
.
¿Es esta una buena manera de hacerlo? ¿Hay una buena práctica estándar o un mejor patrón de diseño?
estoy experimentando un problema similar. Tengo una FragmentActivity que se administra a través de tabhost 4 listfragments y cada ListFragment podría, en función de la interacción del usuario, lanzar otros fragmentos (todos los fragmentos comparten el mismo diseño donde se muestra su contenido). ¿Sigue siendo válido el patrón de devolución de llamada? gracias – Blackbelt
Sí, el patrón de devolución de llamada sería perfecto para esto. Deje que la Actividad haga ese lanzamiento escuchando todos los fragmentos – Spidy