El texto de TextView desaparece cuando se gira el dispositivo

Estoy escribiendo una aplicación de marcación telefónica para Android. He creado un diseño para el teclado, que contiene un TextView y 10 botones. Los botones son como teclas para 10 dígitos (0 a 9) y TextView es para mostrar el número según las teclas presionadas.

En mi aplicación, estoy añadiendo el texto ("0" o "1", etc.) al TextView para cada botón presionado. Si presiono los botones 1, 2, 3 , el texto de TextView es 123 . El problema es, vamos a tomar la pantalla está en modo horizontal y TextView contiene 123, si lo cambio, en modo vertical no hay texto en TextView.

Por favor, ayúdame con respecto a esto.

4 Solutions collect form web for “El texto de TextView desaparece cuando se gira el dispositivo”

Por favor, compruebe el cambio de orientación, en el método de creación se llama, que requiere que todas las vistas que se crean de nuevo, por lo que necesita utilizar uno de los siguientes métodos:

  1. Use el método onSavedInstance y guarde los estados de componentes / vistas para agrupar.
  2. Sólo use el siguiente indicador true en su archivo de manifiesto en la etiqueta de actividad android: configChanges = "keyboardHidden | orientation". como abajo:

     <activity android:name=".SampleActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation"> ... </activity> 

Lo que @jeet recomienda no funcionó para mí. Tuve que añadir "screenSize". Esta es la línea que debe agregar en su manifest.xml en el nodo <activity> de su actividad:

 android:configChanges="keyboardHidden|orientation|screenSize" 

Así, el nodo completo puede tener este aspecto:

 <activity android:name=".YourActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@style/AppTheme.NoActionBar"> 

La razón de esto se debe a que Android básicamente destruye la actividad y la crea de nuevo cada vez que gira el dispositivo. Esto es principalmente para permitir diferentes diseños basados ​​en modo retrato / paisaje.

La mejor manera de manejar esto es almacenar los datos que necesite mantener dentro del Activity Bundle , respondiendo al evento onSavedInstance (llamado justo antes de que Android destruya la actividad), y luego volver a aplicar los del evento onCreate estándar.

Aunque puede agregar "orientación" a la propiedad configChanges, tenga en cuenta que básicamente le está diciendo a Android que va a manejar todo lo relacionado con el cambio de orientación usted mismo, incluyendo cambiar el diseño, etc.

Si alguien todavía está teniendo problemas … esto hizo el truco para mí

 public class BranjeKP extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_branje_kp); //... } @Override protected void onSaveInstanceState(Bundle out) { super.onSaveInstanceState(out); out.putString("TVNazivPod", TVNazivPodatka.getText().toString()); out.putString("TVEnotaMere", TVEnotaMere.getText().toString()); } @Override protected void onRestoreInstanceState(Bundle in) { super.onRestoreInstanceState(in); TVNazivPodatka.setText(in.getString("TVNazivPod")); TVEnotaMere.setText(in.getString("TVEnotaMere")); } 

Básicamente, guarda los valores que desee antes de la rotación (es decir, cuando se llama onSaveInstanceState) a un paquete y después de la rotación (onRestoreInstanceState), saca todos los valores de Bundle. Sólo para aclarar, TVNazivPodatka y TVEnotaMere son widgets TextView.

… con una ayuda de Cómo evitar que las vistas personalizadas pierdan el estado a través de los cambios de orientación de la pantalla

  • No puede desplazar el ViewPager al tocar TextView (con android: gravity = "center") en él
  • Cree programaticamente TextView con elipsis
  • Single TextView con texto coloreado múltiple
  • Android cómo hacer TextView texto en negrita cuando se presiona o centrado
  • Evitar que TextView se envuelva en el elemento principal
  • Cómo mostrar 3 puntos al final del texto en la vista de texto
  • ¿Cómo se utiliza EasyEditSpan en Android para permitir la edición parcial de texto?
  • Android sdk 18 La gravedad de TextView no funciona verticalmente
  • Dos elementos XML con id id
  • Android: matriz de vistas de texto
  • Spannable Vs Tipo Vs Html
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.