with studio from fragments con comunicar change activity android fragmenttransaction fragmentmanager fragment-backstack

android - studio - fragment interaction listener



¿Qué hace exactamente FragmentManager y FragmentTransaction? (2)

Android FragmentManager

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, FragmentTransaction nos brinda 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 de respaldo, esto se puede usar para que los Fragments sean recordados y puedan ser usados ​​nuevamente por la Activity

fragmentTransaction.commit();

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

http://developer.android.com/reference/android/app/FragmentTransaction.html

Tengo un código simple a continuación

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 usa para crear transacciones para agregar, eliminar 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 usará.

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 posterior. Esto significa que la transacción será recordada después de que se haya comprometido, y revertirá su operación cuando más tarde salga de la pila.

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

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

Consulte para obtener información la otra pregunta ¿Cuál es el significado de addToBackStack con parámetro null?

La última instrucción 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