Ver la Versión Completa : [ CONSULTA ] Volver a un determinado Fragment desde una Activity
kaiser75
03/11/17, 11:45:01
Sabeis como volver desde una actividad a un fragment especifico?, tengo una app con varios fragmentos uno de los cuales me abre una actividad al pulsar un boton, pero al cerrar la actividad deberia volver a ese mismo fragment pero me muestra el fragment principal :rolleyes:
kriogeN
03/11/17, 16:59:44
Eso ocurre porque tu Activity anterior se ha destruido (el sistema ha decidido eliminarla), y por eso al volver lo que ocurre es que se crea una instancia nueva y por eso ves el Fragment inicial.
Para que esto no ocurra tienes que hacer uso del método "onSaveInstanceState", que se ejecuta cuando una Activity se destruye.
En el Bundle que recibe ese método almacenas información (en este caso el nombre del Fragment en el que estabas), de esta forma cuando se ejecute el "onCreate" de tu Activity verás que el parámetro que recibe (ese savedInstanceState que nunca usas) es distinto de null y contiene los datos que habías almacenado antes.
De esta forma lo que tendrías que hacer ahora en el onCreate es comparar si el parámetro es distinto de null, si lo es, cargas el Fragment que llega en el valor que has almacenado. Y en el caso de que sea null sigues haciendo como hasta ahora y cargas el Fragment principal.
OJO: Existe una forma de almacenar también el Fragment en si, pero necesitas hacer uso del onSaveInstanteState del Fragment, además de almacenarlo en el FragmentManager para que luego al extraerlo de ahí y crearse también recupere ese Bundle almacenado, pero no te lo recomiendo. Es mejor si necesitas almacenar algo específico del Fragment (por ejemplo campos de texto), que lo almacenes también en el onSaveInstanteState de la Activity y luego al crear el Fragment desde 0 los asignes.
kaiser75
04/11/17, 09:39:28
Buena explicacion :ok:, voy a probarlo y te cuento, lo unico que necesito es que al cerrar esa actividad me vuelva al fragment sin mas, sin datos ni campos de texto etc.
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.