Bonjour,
Dans une Activity j'ai des AlertDialog ou des Dialog, lorsqu'ils sont affichés et que l'orientation change, j'ai une erreur : Activity has leaked window...
Du coup dans onCreate() je fais des choses du genre :
Et dans onPause() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dialogue = builder.create(); dialogue2 = new Dialog(this);
J'ai regardé cette page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dialogue.dismiss(); dialogue2.dismiss();
http://developer.android.com/guide/t...e-changes.html
Donc oui je pourrais juste mettre :
Et je n'aurais plus de problème, mais apparemment ce n'est pas conseillé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part android:configChanges="orientation|keyboardHidden"
Je n'aime pas trop créer et supprimer à chaque onCreate() et onPause().
Existe t-il une meilleure solution ?
Des fois j'ai un bouton dans le dialog et pour garder la valeur j'utilise :
Ça fonctionne bien, mais ça ne me sert pas pour garder un Dialog ouvert l'hors de la rotation de l'écran.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 @Override public void onSaveInstanceState(Bundle savedInstanceState) { super.onSaveInstanceState(savedInstanceState); savedInstanceState.putString("provenance", boutonProvenance.getText().toString()); } @Override public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); if(boutonProvenance!=null){ boutonProvenance.setText(savedInstanceState.getString("provenance")); } }
Partager