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

Respuesta
 
Herramientas
  #1  
Viejo 09/08/14, 15:08:14
Array

[xs_avatar]
berto1989
Usuario invitado
 
Mensajes: n/a

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
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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
Array

[xs_avatar]
berto1989
Usuario invitado
 
Mensajes: n/a

 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
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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
Array

[xs_avatar]
berto1989
Usuario invitado
 
Mensajes: n/a

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   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 22:06:11 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /