¿Qué hace exactamente FragmentManager y FragmentTransaction exactamente?

Tengo código simple abajo

FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.fragment_container, mFeedFragment); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); 

¿Qué hacen estas líneas de código?

 getFragmentManager() 

Devuelve el FragmentManager para interactuar con los fragmentos asociados con esta actividad.

FragmentManager que se utiliza para crear transacciones para agregar, quitar o reemplazar fragmentos.

 fragmentManager.beginTransaction(); 

Inicie una serie de operaciones de edición en los fragmentos asociados con este FragmentManager.

El objeto FragmentTransaction que se utilizará.

 fragmentTransaction.replace(R.id.fragment_container, mFeedFragment); 

Reemplaza el fragmento actual con mFeedFragment en el diseño con el id: R.id.fragment_container

 fragmentTransaction.addToBackStack(null); 

Agregue esta transacción a la pila trasera. Esto significa que la transacción será recordada después de que se haya confirmado, e invertirá su operación cuando más tarde salga de la pila.

Útil para el uso del botón de devolución para que la transacción se pueda revertir. El nombre del parámetro:

Es un nombre opcional para este estado de pila posterior, o nulo.

Véase la otra pregunta ¿Cuál es el significado de addToBackStack con parámetro nulo?

La última sentencia confirma la transacción y ejecuta todos los comandos.

Consulte la documentación de Google para obtener más ayuda:

http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html http://developer.android.com/reference/android/app/FragmentManager.html http://developer.android. Com / reference / android / app / FragmentTransaction.html

FragmentManager Android

Un FragmentManager gestiona Fragments en Android, específicamente maneja transacciones entre fragmentos. Una transacción es una forma de agregar, reemplazar o eliminar fragmentos.

Android FragmentTransaction

Como se dijo antes de un FragmentTransaction nos da métodos para agregar, reemplazar o eliminar fragmentos en Android. Nos da una interfaz para interactuar con fragmentos.


fragmentTransaction.replace(R.id.fragment_container, mFeedFragment);

El método replace(int containerViewId, Fragment fragment) reemplaza un objeto Fragment existente del contenedor containerViewId y agrega el Fragment fragment

fragmentTransaction.addToBackStack(null);

Este método, addToBackOfStack(String name) , agrega esta transacción a la pila trasera, esto se puede utilizar para que los Fragments sean recordados y puedan ser utilizados de nuevo por la Activity

fragmentTransaction.commit();

El método commit() programa esta transacción, esto no es instantáneo; Está programado en el hilo principal para ser hecho cuando el hilo está listo.

Referencia

  • FragmentManager.getFragmens (). Size () no disminuyen después de FragmentTransaction.remove (Fragment)
  • Fragmento Transacción cargar la vista vacía, pero el fragmento se muestra después de que el dispositivo giratorio
  • ¿Cómo reemplazar el fragmento C con el fragmento A cuando se pulsa el botón Atrás?
  • Android: Fragmento de diálogo y problemas de Backstack
  • Cómo agregar un fragmento a un diseño de un DialogFragment?
  • Mover fragmento de Android a un contenedor diferente No se puede cambiar el identificador de contenedor de fragmento
  • Android TextInputLayouts perder texto / contenido al volver en la transacción de fragmentos
  • Fragmento de Android: ¿se mueve de una vista a otra?
  • Cómo mostrar el fragmento de entrada sobre el fragmento de salida mientras se anima.
  • Se hace clic en un diseño invisible detrás del fragmento:
  • Fragmento de Android La transacción con animación provoca que el flash blanco
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.