![]() |
|
| 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 |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
|
Giro de pantalla, mantener contenido!
Hola amigos.
tengo un problema espero me puedan colaborar. lo que sucede es que tengo un activity el cual contiene un navigationDrawer material design, y un contenedor para los fragments. el caso es que dentro de los fragments tengo información que el usuario introducirá dentro de los textedit, al girar la pantalla, el activity se me reinicia, borrando los campos llenos, y llevándome al primer item del navigationDrawer. intente solucionarlo agregando la linea: android:configChanges="orientation|keyboardHidden" en la actividad en el AndroidManifest, pero ésto hace que la actividad no se reinicie por tanto la toolbar no se adaptaba a la forma landscape, y tampoco otro detalle que he puesto en la app como por ejempo un fitsSystemWindows, que en portrait debe ser False y en landscape True. tienen alguna idea de como solucionarlo de manera que pueda mantener los datos ingresados en el fragment, la selección del item actual en el navifationDrawer, y que se adapte la toolbar y el fitsSystemWindows al girar la pantalla? de antemano, muchas gracias. |
|
|
|
#2
|
||||
|
||||
|
Mi consejo es que rehuyas de todas las "ñapas" de bloquear los cambios de orientación en los configChanges y similares.
Hacerlo de forma correcta (y aprender a hacerlo) puede ser tedioso, pero es la forma correcta de hacerlo, y en un futuro agradecerás haber cogido el hábito. Para guardar el estado debes utilizar el método onSaveInstanceState, que te proporciona un bundle donde puedes almacenar contenido en modo clave:valor. Para recuperarlo, en el onCreate deberás comprobar si el Bundle que recibes es null, y si no lo es, recuperar los datos a partir de ahí. Si buscas por "onSaveInstanceState" seguro que encuentras bastante documentación que explica la forma correcta de utilizarlo ![]() Según la ubicación de la información, deberás implementarlo en el Fragment o en la Activity. Ej: El elemento seleccionado del NavDrawer: Activity Lo de Toolbar, yo siempre la añado así y no tengo ningún problema: (Tiene alignParentTop porque el padre es un Relative) Código:
<android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_alignParentTop="true"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
|
| Gracias de parte de: | ||
|
#3
|
|
gracias amigo. entonces creo que tendré que averiguar mucho sobre el onSaveInstanceState creo que es lo que necesito. Gracias ! si tuvieses ejemplos del onSaveInstanceState te lo agradecería mucho (y)
|
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 19:17:24 (GMT +1)
HTCMania: líderes desde el 2007






