Je rencontre un problème avec un contrôle EditText. Ce problème se produit uniquement sur cette activité particulière et aucune autre activité avec EditTexts. J'ai supprimé tous les appels setText pour ce EditText et le problème persiste toujours. Je cours Android 2.3.4 sur mon appareil mobile. C'est un Nexus S et stock courant Android. Dans l'émulateur (sous Android 2.2), ce problème ne se produit pas.EditText doubler lors de la rotation
Lorsque je fais pivoter le téléphone, Android remplace automatiquement le texte qui se trouvait dans l'EditText avant la rotation. Je n'utilise pas savedInstanceState pour faire quoi que ce soit. Android le fait lui-même.
Mon problème:
Supposons que le mot "test" est dans le EditText. Lorsque je fais tourner le téléphone, Android place "testtest" dans l'EditText lorsque l'activité est recréée. Ce seulement se produit lorsque j'utilise le clavier virtuel pour taper dans l'EditText, je ne clique pas sur le bouton "terminé" sur le clavier virtuel, je presse pour retirer le clavier virtuel, puis je fais pivoter l'appareil. Si j'utilise le bouton "Terminé" au lieu du bouton Précédent, le problème ne se produit pas.
Des idées? Comme je l'ai dit, je suis pas définissant le texte. Toutes les lignes appelant setText ont été mises en commentaire.
Mise à jour 1: j'ai commenté tout dans cette activité à l'exception de la méthode onCreate(). Problème toujours présent
Mise à jour 2: J'ai créé une nouvelle activité. Cette toute nouvelle activité a seulement une méthode onCreate(). La seule chose dans la méthode onCreate() est un appel à setContentView (utilise le même fichier layout) et appelle super's onCreate(). Le problème persiste toujours. Je suis perplexe. La seule chose que je peux deviner est qu'il y a quelque chose de bizarre avec le fichier de mise en page. Je n'ai aucune idée de ce que ce serait.
Mise à jour 3: J'ai tout retiré de la mise en page à l'exception de l'EditText. Problème toujours présent
qu'en est-il de editText.append()? Utilisez-vous une telle chose? si c'est le cas, vous devriez peut-être les désactiver aussi – dds
Si vous voulez stocker le contenu EditText au cours d'une modification de configuration, j'utilise [onRetainNonConfigurationInstance] (http://developer.android.com/reference/android/app/Activity.html# onRetainNonConfigurationInstance% 28% 29) jusqu'à présent. Vous pouvez renvoyer votre chaîne de contenu EditText à partir de cette méthode par exemple.Et vous pouvez le récupérer sur votre onCreate en utilisant [getLastNonConfigurationInstance] (http://developer.android.com/reference/android/app/Activity.html#getLastNonConfigurationInstance%28%29) qui retourne null s'il n'y a pas de données sauvegardées disponibles. – harism
Avez-vous essayé avec un appareil physique? Mise à jour de votre ADK? Honnêtement, cela ressemble à un bug avec votre émulateur. –