Hallo,
ich benutze DialogFragment und habe ein Problem beim Schliessen des Dialogs.
Wenn der Dialog geschlossen wird, gehen in der View alle Änderungen verloren. Beim nächsten Aufruf des Dialogs sieht die View aus wie am Anfang und das möchte ich vermeiden. Beim Schliessen sollen also alle Änderungen bleiben, so wie sie waren.
Ich habe zwar schon eine Lösung dafür aber mir gefällt diese Lösung nicht. Die Lösung wäre, via Interface alle Änderungen an Activity geben und beim erneuten Aufruf überprüfen, welche Änderungen existieren und diese dann entsprechend setzen. Das würde zwar funktionieren, ist bei meinem View aber viel zu aufwändig! Den die View des Dialogs enthält viele Details wie Audio, Video, Textfelder, Animationen und und und.
Ich denke, dass es hierbei eine einfachere Lösung geben muss. Ungefähr so stelle ich es mir vor:
Bei onDismiss() soll der Dialog nicht geschlossen werden, sondern lediglich "versteckt", wie z. B. dialog.setVisibility(View.GONE);
Damit der Dialog nicht geschlossen wird, benutze ich in onCreateView(): setCancelable(false);
Beim Überschreiben von onDismiss() würde ich gerne setVisibility(View.GONE); verwenden, finde dazu aber keine Referenz. Mit getDialog().setVisibility(View.GONE); scheint es jedenfalls nicht zu funktionieren.
ich benutze DialogFragment und habe ein Problem beim Schliessen des Dialogs.
Wenn der Dialog geschlossen wird, gehen in der View alle Änderungen verloren. Beim nächsten Aufruf des Dialogs sieht die View aus wie am Anfang und das möchte ich vermeiden. Beim Schliessen sollen also alle Änderungen bleiben, so wie sie waren.
Ich habe zwar schon eine Lösung dafür aber mir gefällt diese Lösung nicht. Die Lösung wäre, via Interface alle Änderungen an Activity geben und beim erneuten Aufruf überprüfen, welche Änderungen existieren und diese dann entsprechend setzen. Das würde zwar funktionieren, ist bei meinem View aber viel zu aufwändig! Den die View des Dialogs enthält viele Details wie Audio, Video, Textfelder, Animationen und und und.
Ich denke, dass es hierbei eine einfachere Lösung geben muss. Ungefähr so stelle ich es mir vor:
Bei onDismiss() soll der Dialog nicht geschlossen werden, sondern lediglich "versteckt", wie z. B. dialog.setVisibility(View.GONE);
Damit der Dialog nicht geschlossen wird, benutze ich in onCreateView(): setCancelable(false);
Beim Überschreiben von onDismiss() würde ich gerne setVisibility(View.GONE); verwenden, finde dazu aber keine Referenz. Mit getDialog().setVisibility(View.GONE); scheint es jedenfalls nicht zu funktionieren.