Ver la Versión Completa : [ CONSULTA ] Sobre Drawer Navigation y fragments
berto1989
09/08/14, 15:08:14
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
kriogeN
09/08/14, 15:34:46
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.
berto1989
10/08/14, 12:44:19
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?
kriogeN
10/08/14, 12:58:22
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);
berto1989
10/08/14, 13:09:14
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 :/
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.