Actividad e interacción de fragmentos
Yo tengo unActivity
con multiplesFragment
s. Quiero mostrar unDialogFragment
o abre otroFragment
de uno de losFragment
s. Sé que unActivity
debe ser el encargado de abrirFragment
s así que en vez he intentado un par de cosas.
PRIMERO
Traté de usargetActivity()
y lanzarlo para que pueda llamar a un método en elActivity
para mostrar unFragment
Sin embargo, esto crea una dependencia en elFragment
con elActivity
y me gustaría evitar agregar una dependencia si es posible.
SEGUNDO
Luego probé con un oyente para notificar alActivity
que debería mostrar unaFragment
. Así que creé una clase en elActivity
para implementar la interfaz del oyente. Pero tuve problemas porque tuve que usarNew MyActivity().new Listener();
y tiraría unException
cuando traté de usargetSupportFragmentManager()
ya que esta instancia de laActivity
no está inicializado
TERCERO
Entonces traté de tener elActivity
implementar el escucha directamente, lo que funciona porque solo estoy creando una dependencia con el escucha y no con la Actividad. Sin embargo ahora estoy llegando al punto donde miActivity
implementará 2 - 4 interfaces diferentes, lo que me hace dudar porque reducirá severamente la cohesión.
Así que de cualquier manera que lo he intentado, parece que me estoy topando con un muro de ladrillos y creando dependencias. No estoy seguro de que deba estar creando. ¿Estoy jodido y tengo que ir con una de estas opciones? Si es así, ¿cuál sería la mejor opción? Cualquier ayuda o sugerencia son muy apreciadas.