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.

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

  • Gradle buildConfigField con una variable entera
  • Public static variable o use putExtra método de clase de intención
  • ¿Debo usar estática o getters / setters?
  • Ningún campo de instancia
  • ¿Necesito restaurar todas las variables onResume?
  • No se puede ver el contenido de la variable final dentro de la clase anónima al depurar en Eclipse una aplicación para Android
  • Usuarios únicos de Android google analytics
  • Cómo analizar un doble de EditText a TextView? (Androide)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.