Pérdida de variables orientaciones de conmutación
Im nuevo a androide. He escrito un par de programas y los he probado en mi teléfono. Cuando cambio las orientaciones su como mi teléfono reinicia el programa. Todas mis variables se restablecen. De hecho, lo único que no se restablece es el texto que se encuentra en las vistas de edición de texto. ¿Qué causa esto? ¿Cómo puedo detenerlo? He intentado mirar en google y sobre desbordamiento de la pila pero todo lo que estoy viendo es cómo a la orientación de la visión de cambiar todos juntos. Incluso intenté, en un programa, establecer mis variables con el método get text, pero esto no funciona.
- Visualización de la variable en pantalla usando Android por TextViews
- Cómo crear una variable global en android?
- Alinear el nombre de las variables en el android studio
- Problema al guardar las preferencias compartidas en Android
- ¿WebView saveState () preserva variables / entorno de JavaScript?
- Android: cómo fragmentar una variable global de Actividad
- Variables finales de Android
- ¿Hay alguna manera de comprobar si una variable está definida en Java?
- Declaración de variables de botón como una matriz con un bucle for android
- ¿Cómo obtengo las preferencias para trabajar en Android?
- ¿Declarar las variables locales tan tarde como sea posible o en la llave más cercana que pertenecen?
- En Java, ¿cómo verifica si una variable float es null?
- ¿Cómo compartir una variable entre Java y C en android JNI?
Cuando cambio las orientaciones su como mi teléfono reinicia el programa.
Bueno, para ser exactos, la Activity
actualmente visible es completamente destruida y recreada. Otros componentes de su "aplicación" pueden o no ser afectados.
¿Qué causa esto? ¿Cómo puedo detenerlo?
Es por diseño y en cuanto a detenerlo, puede o no puede querer hacer eso.
Como se ha mencionado, es posible especificar que desea manipular los cambios de configuración (como la orientación) o incluso forzar sólo uno (por ejemplo, horizontal o vertical).
En muchos casos, sin embargo, un desarrollador de aplicaciones puede optar por cambiar un diseño basado en si un dispositivo está en una orientación u otra. Algunos diseños pueden funcionar bien en el retrato pero no en el paisaje (o viceversa) y el objetivo del enfoque diseñado (para destruir / recrear la Activity
visible actual) está pensado para acomodar eso.
Si un dev elige no manejar los cambios de configuración o forzar una orientación específica, la manera correcta de manejar las cosas es asegurarse de que todos los datos introducidos en elementos de interfaz de usuario 'volátiles' (como EditTexts) se guardan correctamente y se recrean después del cambio de orientación.
Para ello, la comprensión del ciclo de vida de la Activity
es esencial, ya que es hacer uso de los diversos métodos de Activity
que se llaman durante todo el ciclo de vida para guardar / restaurar datos.
Lectura esencial …
Cambios en tiempo de ejecución
Ciclo de vida de la actividad
Fundamentos de la aplicación
Asegúrese de implementar onSaveInstanceState
y esté preparado para restaurar su actividad desde un Bundle
en onCreate
y estará listo. Estos serán llamados durante la rotación, por lo que tendrá una nueva actividad después, pero si ha guardado su estado y puede restaurarlo, nada de qué preocuparse.
Esto es por diseño, onCreate
se llamará cuando se cambia la orientación. Si esto no es deseado, puedes configurarlo para que no responda a los cambios de orientación en AndroidManifest.xml
, por lo que tu actividad no se recreará, configurando android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden"
para tu actividad Restringirlo al modo de retrato.
Para más información sobre los ajustes, vea esto .
Vea esta respuesta : Busque la respuesta de Robert. Esto es exactamente lo que necesita hacer.
Mejor agrega android:configChanges="keyboardHidden|orientation|screenSize" to
AndroidManifest.xml in
actividad
- ¿Intentar ejecutar Android JUnit pruebas en Eclipse falla?
- Android EditText con word-wrap pero sin devoluciones duras