Red de conocimiento informático - Conocimiento informático - Cómo gestionar la pila de reversión de fragmentos

Cómo gestionar la pila de reversión de fragmentos

Problemas encontrados:

El uso del método de reemplazo de FragmentTransaction hará que se vuelva a llamar al método onCreateView() del fragmento cada vez, lo cual es una pérdida de tiempo.

Solución:

Utilice los métodos ocultar y mostrar de FragmentTransaction para mostrar y ocultar el fragmento, de modo que la función onCreateView no se llame repetidamente.

FragmentTransactioin se puede utilizar para agregar y eliminar fragmentos, y también puede controlar la visualización y ocultación de fragmentos.

Esto es si se llama a addToBackStack(null), el estado en este momento se guardará en la pila posterior y, cuando se presione la tecla de retorno, se mostrará la parte superior de la pila

getSupportFragmentManager( ).popBackStack() Este método coloca el fragmento en la parte superior de la pila.

Solo los fragmentos que se agreguen dinámicamente mientras el programa se está ejecutando se agregarán a la pila trasera.

getSupportFragmentManager().beginTransaction()

.add(R.id.fragment_container, newFragment,"testa")

.addToBackStack(null)

.commit();

Después de ejecutar el programa, el número de pilas posteriores aumentará en uno mediante este método. Si agrega varias en el código a la vez, ejecute el programa. nuevamente, getSupportFragmentManager() El valor de la pila secundaria obtenido por .getBackStackEntryCount() es cero.