Inter fragmentación de la comunicación aplicada a Fragmentos anidados?
El sitio de desarrolladores de Android tiene un gran artículo sobre cómo usar interfaces para comunicarse entre:
- Un
Fragment
y suActivity
hosting - Dos
Fragment
organizados por la mismaActivity
Estoy luchando por aplicar este concepto a fragmentos anidados . En particular, getActivity()
o Fragment#onAttach(Activity)
indican qué Activity
está hospedando un Fragment
.
- No funciona correctamente en el fragmento de Android
- Navegar entre fragmentos dentro de una actividad
- Agregar un fragmento como encabezado ListView
- Android - Deslizamiento de fragmentos al hacer clic en elemento de lista
- Referencia de fragmentos dentro de ViewPager
¿Cuál es el equivalente en el caso de fragmentos anidados? ¿Cómo un "niño" Fragment
sabe lo que "padre" Fragment
está incluido? Y sin saber esto, ¿cómo puede un Fragment
hijo pasar los eventos hasta su Fragment
padre?
Una forma obvia es difundir las intenciones del Fragment
hijo y hacer que el padre Fragment
escuche la emisión, pero prefiero usar el enfoque basado en la interface
.
- Diseño de cajón y diseño de múltiples paneles
- Los fragmentos de ViewPager desaparecen al cambiar la rotación de la pantalla
- OnClick o onItemClick mientras pausan resultados en "IllegalStateException: No se puede realizar esta acción después de onSaveInstanceState"
- Android Determina si se debe usar un diseño de fragmentos múltiples
- Añadir Fragmento anidado después de que la vista Fragmento de padre ya esté creada
- Actividad vs Fragmento Ciclo de vida
- Prueba de Fragmentos de Android
- Android TabLayout ViewPager no inflar el fragmento de la pestaña en backstack
Resulta que hay un método getParentFragment () introducido para atender a fragmentos anidados. Está disponible en android.app.Fragment
de API 17, pero puede ser usado en versiones anteriores usando android.support.v4.app.Fragment
.
No puedo creer que he pasado por alto esta API!
EDITAR:
Me encontré con esta esencia que hace que este proceso de averiguar el componente de padre (ya sea Fragment
o Activity
) fácil, elegante y seguro!
- Adición de una vista a un LinearLayout en una posición especificada
- Llamar finish () en una actividad de Android realmente no termina