Wenn ich ein DialogFragment von einer Aktivität aus starte, was passiert, wenn ich das DialogFragment schließe? Wird die Aktivität im Status "Resume" ausgeführt? Oder ist der Aufruf wie jeder normale Java-Aufruf, so dass die nächste Zeile niemals ausgeführt wird, bis das DialogFragment geschlossen ist?Wie wirkt sich DialogFragment auf den Lebenszyklus der aufrufenden Aktivität aus
Angenommen, das Verfahren mein Fragment für den Start
private void launchFragment(){
ConfirmationDialog confirm = new ConfirmationDialog();
confirm.show(getSupportFragmentManager(), "confirm");
doMoreStuff();
}
Meine Frage ist also eine zweifache:
genannt- Wenn
doMoreStuff()
? Vorher oder nachher schließe ich das Fragment, um zur übergeordneten Aktivität zurückzukehren? - Nachdem ich das Fragment geschlossen habe, um zur übergeordneten Aktivität zurückzukehren, durchläuft die übergeordnete Aktivität onResume: Wenn ich also nach einem durch das Fragment geänderten Feld suche, kann ich in onResume arbeiten, basierend auf dem Status davon Feld:
Wie in dem folgenden Beispiel:
@Override
public void onResume() {
super.onResume();
if(dialogFragmentChangedThis){
workSomeMore();
}
}
Das Fragment wird mit
setStyle(STYLE_NO_FRAME, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
so eingeführt, dass es in Vollbildmodus.
Ich dachte über die Implementierung einer benutzerdefinierten Callback-Schnittstelle nach, aber ich hatte gehofft, dass es einen einfacheren Weg als das gab; solche Piggy Backing auf den Lebenszyklus. –