|
||
|
![]() |
![]() |
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
|
||||
|
||||
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 |
|
#2
|
||||
|
||||
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. |
#3
|
||||
|
||||
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? |
#4
|
||||
|
||||
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); |
#5
|
||||
|
||||
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 :/ |
![]() |
![]() |
||||||
|