vida studio navegar llamar fragments example entre desde ciclo boton activity abrir android fragment back-button

studio - Cómo evitar llamar a onCreateView cuando se presiona el botón Atrás en el fragmento en Android



llamar un fragment desde un activity (3)

En mi aplicación, tengo la funcionalidad de la barra de pestañas. En una pestaña, estoy mostrando los datos del servidor en lisview, y al hacer clic en esa página de detalles para ese elemento de la lista, se abrirá en un nuevo fragmento.

Pero cuando presiono el botón Atrás desde esa página de detalles, cada vez que oncreateview llama de la página anterior, cada vez que se crea una vista de lista y nuevos datos nuevos del servidor. Entonces, ¿cómo evitar eso y simplemente mostrar el estado anterior cuando se presiona el botón Atrás?


Debería almacenar en caché los objetos de datos aparte de las variables de vista, ya que sus referencias deben actualizarse si va a obtener datos del servidor y no desea realizar una llamada nuevamente, luego use la bifurcación para bifurcar ese código.

Cree un método init () en el que realice todas las llamadas de inicialización y de servidor y bifurque de manera lógica el método init () cuando no quiera llamar a init ().


No creo que evitar una llamada a onCreateView sea una buena idea, además, si no se llama a la función, habrá una excepción, por lo que NO, no debería. En lugar de hacerlo, le sugiero que mueva su "vista de lista creada y que los nuevos datos del servidor sean nuevos" a otro lugar al que pueda llamar explícitamente (cuando quiera, donde quiera, onCreate() es un buen lugar), no coloque en onCreateView() . Espero que esto ayude.


Sé que ha sido demasiado largo para dar esta respuesta, pero supongo que está reemplazando su fragmento con otro. Quiero decir que estás usando

ft.replace(R.id.realTabContent, fragment);

para pasar a otro fragmento que está utilizando en su onItemClick, de modo que la solución más simple es el uso

ft.add(R.id.realTabContent, fragment);

En lugar de reemplazar tu fragmento.

Comprender la diferencia entre reemplazar y agregar . Esto resolverá tu problema.

Reemplazar: reemplazará el fragmento original y volverá a crear la vista cuando regrese
Agregar: solo agregará un nuevo fragmento a la pila.

Espero que esto ayude a alguien que está enfrentando el mismo problema ...