Android: Pasar datos de fragmento hijo a fragmento padre

Necesito pasar algunos datos del fragmento secundario al fragmento padre que podré leer cuando vuelva al fragmento padre. En detalle:

Tengo una FragmentActivity que llama a FragmentParent. De FragmentParent llamo a FragmentChild así:

FragmentChild fragmentChild = new FragmentChild(); FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.replace(R.id.frl_view_container, fragmentChild); transaction.addToBackStack(null); ctransaction.commit(); 

En FragmentChild establezco un valor de cadena que necesito pasar de nuevo a FragmentParent y luego regreso a FragmentParent.

 String result = "OK"; getFragmentManager().popBackStack(); 

¿Cuál es la mejor / correcta manera de leer la cadena de resultados en FragmentParent?

Puede utilizar setTargetFragment y onActivityResult para lograr esto.

Establezca la instancia de FragmentParent como fragmento de destino en la instancia de FragmentChild ie

 FragmentChild fragmentChild = new FragmentChild(); fragmentChild.setTargetFragment(this, FRAGMENT_CODE); FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.replace(R.id.frl_view_container, fragmentChild); transaction.addToBackStack(null); transaction.commit(); 

En FragmentChild, dondequiera que esté invocando el popBackStack, invoque onActivityResult en el Fragmento de destino establecido. Utilice el paquete para transmitir datos adicionales.

 Intent intent = new Intent(); intent.putExtra(FRAGMENT_KEY, "Ok"); getTargetFragment().onActivityResult(getTargetRequestCode(), Activity.RESULT_OK, intent); getFragmentManager().popBackStack(); 

De vuelta en FragmentParent, anule el método onActivityResult predeterminado.

 public void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode == FRAGMENT_CODE && resultCode == Activity.RESULT_OK) { if(data != null) { String value = data.getStringExtra(FRAGMENT_KEY); if(value != null) { Log.v(TAG, "Data passed from Child fragment = " + value); } } } } 
  • ¿Ha cambiado el título en el cambio de orientación?
  • Fragmento añadir o reemplazar no funciona
  • Android Fragment de salida de transición de animación jugó anteriormente entrar en la animación
  • ¿Cómo hacer el FAB evitar ser movido en ViewPager, sin embargo, ser una parte del fragmento dentro?
  • Direcciones de la transición de explosión entre fragmentos
  • Diferencia entre add (), replace () y addToBackStack ()
  • No se puede cambiar dinámicamente un diseño de DialogFragment personalizado
  • Android - Establecer id de fragmento
  • Fragmentos de acceso Ver desde fuera Método OnCreateView
  • No puede actualizar datos en ListFragment
  • La aplicación se bloquea cuando navego por segunda vez al Fragmento anidado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.