Wenn ein Dialog für eine Aktivität auf "visible" gesetzt ist, aber bei einer Änderung der Ausrichtung die Aktivität selbst zerstört wird, verursacht dies einen ausgelaufenen Fensterfehler.
Es gibt zwei Methoden, um diese Situation zu behandeln: -
Methode 1
Daher müssen Sie den dismiss
-Dialog in der Methode onStop
oder onDestroy
der Aktivität verwenden. Zum Beispiel:
und definieren Sie den Dialog in der Aktivitätsklasse
%Vor%Dieser Link wird Ihnen helfen Fortschrittsdialoge und -ausrichtung zu verwalten Änderungen
Methode 2
Sie müssen dies zur Aktivitätsdeklaration im Manifest hinzufügen:
so sieht es aus wie
%Vor%Es kommt darauf an, dass das System die Aktivität zerstört, wenn eine Änderung in der Konfiguration auftritt. Siehe Konfigurationsänderungen .
Wenn Sie das in die Konfigurationsdatei einfügen, wird das System Ihre Aktivitäten nicht zerstören. Stattdessen ruft es die Methode onConfigurationChanged(Configuration)
auf.
Sie versuchen, ein Dialogfeld anzuzeigen, nachdem Sie eine Aktivität beendet haben.
Die Lösung besteht darin, in dem Dialog, den Sie in Example.java:183 erstellt haben, vor dem Beenden der Aktivität, z. in onPause (). Alle Windows- und Dialog-Dialoge sollten vor Verlassen einer Aktivität geschlossen werden.
Oder
Fügen Sie dies Ihrem Manifest hinzu:
%Vor%Dann füge das in deiner Aktivität irgendwo hinzu:
%Vor%-Dialog ist ein Kind, das zum Hauptthread gehört, und wenn Sie sie anzeigen oder löschen möchten, müssen Sie dies auf OnUiThread wie folgt tun. Ich benutze Fragment und wenn ich Dialog zeige, bekomme diese Ausnahme. Aber diese Methode rettet mich.
%Vor%Ich habe diesen Fehler erhalten, weil ich eine Ansicht in der onResume () aller meiner Aktivitäten mit WindowManager.addView () hinzugefügt habe. Um das Problem zu lösen, musste ich WindowManager.removeView () in der onPause () aller meiner Aktivitäten aufrufen.
Tags und Links android xml-parsing android-asynctask progressdialog