IllegalArgumentException: View not attached to window manager

  • Hi,


    ich bekomme über den Market gerade einen Bureport rein. In einer meiner Apps hat es eine IllegalArgumentException mit dem Informationstext "View not attached to window manager" gegeben. Spannenderweise passiert das wohl an einer Stelle, an der ich einen Progressdialog per dismiss() schließe. Wie kann dass den zu so einer Exception führen?

  • Der dismiss() passiert am Ende eines Datendownloads - allerdings frage ich mich gerade, ob der User da dazwischengefunkt hat, in dem er die App in den Hintergrund geschubst hat.


    Wie wäre denn da der richtige Weg - muss ich im Fall eines onPause() tatsächlich alle möglicherweise offenen Dialoge schließen?

  • Die Downloads können ja u.U. weiterlaufen, aber du solltest dann nicht mehr auf View-Elemente zugreifen.


    Wenn du den Download in einen Service ausgelagert hast, bist du unabhängig von der Laufzeit deiner Activity - aber dann solltest du unbedingt gucken, ob der View vielleicht null ist.


    Eine andere Möglichkeit wäre, im onPause dem Download Bescheid zu sagen, dass er nach dem Laden NICHT auf den View zugreifen soll - dann sind die Daten da und können in onResume dann angezeigt werden.


    Damit würdest du dem geschilderten Benutzerverhalten entgegenkommen: "hmm - lädt noch - mal kurz was anderes gucken, dann ist es bestimmt da".

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!