Ich benutze die showDialog()
und dismissDialog()
um Fortschrittsdialoge in meiner App anzuzeigen. Von der Erstellung des Dialogfelds und dem Aufruf von show()
darauf hin, diesen zu verwenden, um den Status beim Ändern der Ausrichtung zu speichern.Android - entlassenDialog nicht den Dialog
Aber wenn ich die Ausrichtung von Hoch-> Querformat-> Hochformat ändern, die dismissDialog()
nicht mehr den Dialog. Der Dialog bleibt die ganze Zeit dort und ich muss den Zurück-Knopf drücken, damit er verschwindet.
Jeder Grund, warum es sich so verhalten würde?
bearbeiten
Um dieses Problem zu überwinden, habe ich versucht, einen removeDialog()
in onDestroy()
so fügte hinzu, dass der Dialog nicht erstellt wird/angezeigt zweimal und vor Orientierungsänderung, der Dialog entfernt wird. Versuchte Protokollanweisungen hinzufügen und sehen, was
05-21 12:35:14.064: DEBUG/MyClass(193): *************callingShowDialog
05-21 12:35:14.064: DEBUG/MyClass(193): *************onCreareDialog
05-21 12:35:15.385: DEBUG/MyClass(193): *************onSaveInstanceState
05-21 12:35:15.415: DEBUG/MyClass(193): *************onDestroy
05-21 12:35:15.585: DEBUG/MyClass(193): *************callingShowDialog
05-21 12:35:15.585: DEBUG/MyClass(193): *************onCreareDialog
05-21 12:35:15.715: DEBUG/MyClass(193): *************onCreareDialog
05-21 12:35:17.214: DEBUG/MyClass(193): *************onSaveInstanceState
05-21 12:35:17.214: DEBUG/MyClass(193): *************onDestroy
05-21 12:35:17.275: ERROR/WindowManager(193): android.view.WindowLeaked: Activity com.android.MyClass has leaked window [email protected] that was originally added here
05-21 12:35:17.395: DEBUG/MyClass(193): *************callingShowDialog
05-21 12:35:17.395: DEBUG/MyClass(193): *************onCreareDialog
05-21 12:35:17.475: DEBUG/MyClass(193): *************onCreareDialog
passiert, wenn wir hier sehen, zunächst, wenn die Aktivität angezeigt wird, wird die onCreateDialog einmal aufgerufen und auf die Ausrichtung ändern, onSaveInstanceState und onDestroy genannt werden.
Aber danach wird onCreateDialog zweimal aufgerufen (einmal durch einen Aufruf von showDialog, den ich mache, aber warum zum 2. Mal?) Und das passiert jedes Mal, wenn ich die Ausrichtung von daher ändere.
Eine Idee, warum das passiert?
Thanks again
Kann mir bitte jemand mit diesem Problem helfen? Ich habe viele Posts und Blogs zu diesem Thema gesehen, aber keine scheint eine funktionierende Lösung zu haben. – lostInTransit