entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

TabLayout Pierde el contenido del fragment

Que tal buenas noches colegas, estoy batallando con la implementación de unos tabs, funcionan correctamente, pero al navegar entre ellos se pierde el contenido, y ya no se que pueda estar pasando.. revise el código y no veo por donde.

les dejo unas capturas para que entiendan mejor mi problematica.

Como ven, tengo un tabHost y dentro de ese mismo, tengo otro, si navego entre esos 3 internos, todo bien

Pero cuando me voy a la tercer opcion del TAB principal, y regreso al anterior

Pierdo el contenido!!!, para que aparesca de nuevo, necesito navegar entre esos 3 tabs internos, y vuelve a aparecer el contenido

no se la verdad que pueda estar pasando, espero me puedan ayudar u orientar que estoy haciendo mal..

les envio un saludo.
gracias de antemano.

1 Respuesta

0voto

cobasESP Puntos19650

Los tabs funcionan parecido a un activity normal, al cerrarse el activity pierde toda la información, al crear el tab llamas al metodo onActivityCreated(), onViewCreated() y cuando cambias ese tab se destruye, lo que deberias hacer es crear un método onResume y onDestroyed() y mediante un SavedInstance guardar en un Bundle(Contenedor) todo lo que tenga tu activity (list vies, datos en editext, etc)

@Override
    public void onDestroy()
    {
         Bundle contenedor = new Bundle(); //Creas tu contenedor
         bundle.put("cosa1", variable 1);//guardas con esta linea lo que necesites

        //guardas el bundle en un shared preferences;

         super.onDestroy();//el fragment se destruye con normalidad.
    }

Y despues sobreescribimos tambien el onResume():

@Override
  public void onResume() {
     //Cargamos el sharedpreferences;
     Bundle contenedor = preferences.getBundle();
     Textview1.setText(contenedor.getString("mistring");

// asi vamos rellenando todo lo que contiene el fragment
     super.onResume();
  }

Si no te funciona correctamente, ademas del metodo ondestroy sobreescribe el onpause y en el onActivityCreated comprueba si existe un bundle guardado y lo cargas igual y te deberia funcionar.

0voto

Novus Ordo Seclorum comentado

Gracias por la orientación, de rato aplico esa solución y te cuento como me fue.. Por que incluso si solo pusiera un TextView con un texto estatico, se desaparece , y es lo que se me hace mas raro.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta