Ho un'attività e ho bisogno di mostrare la finestra di dialogo al suo interno. Tutto funziona bene qui. Ho overrided onCreateDialog metodo in attività, ecco il codice:La finestra di dialogo Android viene visualizzata di nuovo dopo che l'attività viene ricreata
Dove CreateWaitDialog è metodo personalizzato di creare un dialogo e waitDialog è statica variabile.
che sto mostrando dialogo chiamando showDialog (10)
Tutto il codice è in esecuzione bene.
Dopo che la finestra di dialogo è stata mostrata, la sto chiudendo chiamando.
if(waitDialog != null)
waitDialog.hide();
E lo sto ignorando quando l'attività viene distrutta.
if(dialogCreated)
dismissDialog(10);
super.onDestroy();
Si sta chiudendo e tutto è perfetto. MA, quando cambio l'orientamento del mio dispositivo e l'attività viene ricreata, si apre di nuovo da solo! Non sto chiamando nessun showDialog o qualcosa del genere che sta spuntando!
Detesto le risposte in competizione da quando hai preso il tempo extra per citare la documentazione, ho rimosso la mia risposta e ti ho dato un upvot. – Sam
@Sam Penso che la tua risposta abbia ancora valore, vorrei lasciarla.Probabilmente dovrebbe chiamare il licenziamento invece di nascondere, la mia risposta è semplicemente un tentativo/trucco per aggirare il comportamento predefinito di onCreateDialog. Penso che la tua sia probabilmente la soluzione migliore. – Tim
Ho appena controllato il codice sorgente e se la finestra di dialogo è visualizzata ripetutamente, usare 'hide()' è un approccio più veloce. Anche la tua risposta potrebbe essere stata una supposizione, ma è ben fondata e corretta. Quindi sono felice di lasciare il mio upvote. – Sam