android.view.WindowLeaked Ausnahme

8

Ich lese XML-Daten von einer URL. Es funktionierte gut, wenn es im Hochformat war. Aber ich wollte es in den Querformatmodus ändern. Aber es wird android.view.WindowLeaked Ausnahme.

Bitte helfen Sie mir dabei. Danke im Voraus. Das ist mein Code.

%Vor%     
Isuru 03.07.2014, 05:19
quelle

4 Antworten

21

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:

%Vor%

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:

%Vor%

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.

    
Giru Bhai 03.07.2014, 05:25
quelle
1

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%     
sachin10 03.07.2014 05:46
quelle
1

-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%     
idris yıldız 13.07.2015 13:31
quelle
0

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.

    
Jason Hartley 12.07.2015 01:14
quelle