Bei der Änderung der Ausrichtung wird die Aktivität erneut erstellt und das Dialogfeld "Datum/Uhrzeit" wird ebenfalls neu erstellt. Ich möchte den Dialog für den Status der Datumszeit speichern, der vom Benutzer geändert wurde.Wie wird der Status von datetime Dialog zur Orientierungsänderung beibehalten?
Bevor ich den Dialog abbringe Ich möchte den Status des Date Time Dialog beibehalten.
Hinweis, ich kann den Dialog in onSaveInstanceState, wo ich das Bundle verfügbar habe, ablehnen. Es wird aber auch aufgerufen, wenn die Aktivität in den Status pausiert wechselt. In diesem Fall möchte ich den Dialog nicht schließen. Daher entschieden, es auf OnDestroy-Methode zu entlassen, aber ich habe das Bundle-Objekt nicht dort. Deshalb stehe ich vor diesem Problem. Gibt es eine Möglichkeit, auf das Bundle in onDestroy zuzugreifen? Oder irgendein anderer Vorschlag für mein Problem würde geschätzt werden.
@Override
protected void onDestroy() {
if(dateTimeDialog !=null && dateTimeDialog.isShowing())
{
//<HERE I WANT THE STATE TO BE SAVED IN THE BUNDLE>
dateTimeDialog.dismiss();
}
super.onDestroy();
}
Grundsätzlich sperren wir die Anwendung, wenn der Benutzer unserer Anwendung abrücken und auf den Bildschirm entsperren und das Dialog er wieder aufgenommen betrachtet. Und wenn wir den Dialog onSavedInstanceState ablehnen, nach dem Entsperren der Anwendung, ruft er OnRestart auf, starten Sie Methoden und führen Sie sie fort, wobei keiner von ihnen die Instanz von Bundle als Parameter enthält.
Auch haben wir separate Layouts für Querformat & Hochformat, wegen denen wir nicht die ConfigChanges = "Ausrichtung" in der Manifest-Datei festlegen können.
Die 'DatePickerDialog' Klasse hat' onSaveInstanceState() 'und' onRestoreInstanceState() 'Methoden. –