Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 09/08/14, 15:08:14
Avatar de berto1989
berto1989
Usuario invitado
Mensajes: n/a
 
Mensajes: n/a
Mencionado: comentarios
Tagged: hilos
Sobre Drawer Navigation y fragments

Buenas, ando haciendo una App con el Navigation Drawer, pero tengo unos problemas...


Cuando selecciono por ejemplo un fragment noticias con una música de fondo, y cambio el fragment por ejemplo a eventos, y luego vuelvo al de noticias, me vuelve a crear toda la actividad.

Y yo quiero que al cambiar de actividad no se cierre y al volver siga donde lo deje, eso es posible?

Otro ejemplo, un fragment webview al entrar carga la pag hasta ai todo bien, pero al cambiar y volver al fragment, me carga de nuevo la pag y pierdo todo lo echo

por ahora solo tengo esas dudas, gracias de antemano
Responder Con Cita


  #2  
Viejo 09/08/14, 15:34:46
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Si puedes guardar un Fragment en un Bundle y luego recuperarlo, aunque en el propio Fragment deberás de almacenar lo que verdaderamente te interesa con onSaveInstanceState y luego recuperarlo en el onCreateView, porque el Fragment se vuelve a inicializar por completo. No se si para tu caso es realmente lo que te interesa, o simplemente te basta con almacenar variables en la Activity y luego asignárselas al Fragment después de crearlo.

En cuanto a almacenar el estado del WebView, igual, puedes almacenarlo en un Bundle y luego recuperarlo. El WebView requiere un Bundle para él solo, pero puedes almacenar el Bundle del WebView en el Bundle del Fragment, o simplemente almacenarlo en una variable en la Activity.
Responder Con Cita
  #3  
Viejo 10/08/14, 12:44:19
Avatar de berto1989
berto1989
Usuario invitado
Mensajes: n/a
 
Mensajes: n/a
Mencionado: comentarios
Tagged: hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
Si puedes guardar un Fragment en un Bundle y luego recuperarlo, aunque en el propio Fragment deberás de almacenar lo que verdaderamente te interesa con onSaveInstanceState y luego recuperarlo en el onCreateView, porque el Fragment se vuelve a inicializar por completo. No se si para tu caso es realmente lo que te interesa, o simplemente te basta con almacenar variables en la Activity y luego asignárselas al Fragment después de crearlo.

En cuanto a almacenar el estado del WebView, igual, puedes almacenarlo en un Bundle y luego recuperarlo. El WebView requiere un Bundle para él solo, pero puedes almacenar el Bundle del WebView en el Bundle del Fragment, o simplemente almacenarlo en una variable en la Activity.

buenas gracias por la respuesta, me podrías poner un ejemplo de como se almacenaría algo?
Responder Con Cita
  #4  
Viejo 10/08/14, 12:58:22
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Para almacenar un Fragment sólo lo he hecho con el onSaveInstanceState de una Activity cuando necesito guardar a un Fragment, que luego va a guardar su estado él mismo en su propio onSaveInstanceState:

getSupportFragmentManager().putFragment(outState, "crearplanfragment", fragment);

Y luego para recuperarlo:

fragment = (CrearPlanFragment) getSupportFragmentManager().getFragment(savedInsta nceState, "crearplanfragment");

Ese código es de una aplicación mía, por eso esos nombres.

Luego dentro del Fragment deberás almacenar el estado del WebView:

nombreWebView.saveState(bundle);

Por cierto, sólo se almacena la página cargada y el historial, pero la página se volverá a recargar otra vez. Si llevaba parámetros se usarán también en la carga. Pero si la página es un formulario y el usuario había rellenado 3 campos (por ejemplo), esos 3 campos estarán vacíos al recargarse el Fragment.

Luego para cargar:

nombreWebView.restoreState(bundle);
Responder Con Cita
  #5  
Viejo 10/08/14, 13:09:14
Avatar de berto1989
berto1989
Usuario invitado
Mensajes: n/a
 
Mensajes: n/a
Mencionado: comentarios
Tagged: hilos
Gracias de nuevo por el ejemplo, a ver si consigo hacerlo funcionar...


pd: lo del WebView no me sirve, por que es un Chat y no quiero que se vuelva a cargar la página, por que se tendría que logear de nuevo :/
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 17:27:58 (GMT +2)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007