Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Frage zur Progress Dialog

Das Thema "Frage zur Progress Dialog" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 10.05.2011, 09:52   #1 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 16.09.2010
Beiträge: 51
Abgegebene Danke: 15
Erhielt 3 Danke für 1 Beitrag
Standard Frage zur Progress Dialog

Hi Leute,

in vielen Tutorial wird der Progressdiolag mit einem Thread beschrieben, diese Tuts funktionieren auch bei mir sofort. Sie sind so aufgebaut

Progressdialog.show()

Thread läuft /bzw schläft ne Zeit

Progressdialog.dismiss()

da funktioniert es auch so wie es sein soll.

Jetzt hab ich aber eine Methode die mir Sachen vom Server lädt und wärend diese Wartezeit möchte ich einen Progressdialog für den User anzeigen lassen. Ich gehe da genauso vor wie in dem Tutorial.

Progressdialog.show()

Methodenaufruf()

Progressdialog.dismiss()

ABER bei mir erscheind der PD immer nur, wenn die Methode schon abgearbeitet worden ist und die Daten schon angekommen sind. Wo ist mein Denkfehler?

Danke Sebastian
r4in ist offline   Mit Zitat antworten
Alt 10.05.2011, 13:48   #2 (permalink)
Android Experte
 
Benutzerbild von DieGoldeneMitte

Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
Standard AW: Frage zur Progress Dialog

Offenbar wird dein Code innerhalb des UI Threads ausgeführt.

Du musst dein Methodenaufruf() in einem eigenen Thread ausführen, sodass die UI wieder zum Zuge kommt, bevor die Methode fertig ist.
__________________
Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon.
Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten.
Tipp: Zum "Danke" sagen gibt es einen Button.

Geändert von DieGoldeneMitte (10.05.2011 um 13:52 Uhr)
DieGoldeneMitte ist offline   Mit Zitat antworten
Alt 10.05.2011, 13:54   #3 (permalink)
Android Experte

Modell: Samsung Galaxy Nexus

Registriert seit: 16.11.2009
Beiträge: 819
Abgegebene Danke: 1
Erhielt 215 Danke für 117 Beiträge
Standard AW: Frage zur Progress Dialog

Ganz einfach: Änderungen an der Oberfläche werden erst durchgeführt, wenn 'ne Funktion im UI-Thread abgearbeitet wurde. Mal abgesehen davon, dass deine Variante einen "Die Anwendung reagiert nicht"-Dialog geradezu provoziert, weil die Funktion vermutlich etwas länger dauert...
show() und dismiss() müssen also in unterschiedlichen Methoden aufgerufen werden. Üblicherweise wird dismiss() über einen Thread oder Service-Callback angestoßen. Da beides nicht im UI-Thread läuft, muss das über Handler.run() dort eingereiht werden.
Wichtig ist auch, das Thread- bzw. Service-Handling beim Pausieren und Stoppen der Activity zu beachten. Ein Thread sollte abgebrochen werden, ein Service kann auch weiterlaufen, dann muss man aber darauf achten, den ProgressDialog im onResume/onStart wieder anzuzeigen. Und Referenzen auf den ProgressDialog unbedingt spätestens im onStop aufräumen (myProgDlg = null), sonst kann's zu Speicherlöchern durch interne Cross-Referenzen kommen. Böse Falle dabei ist übrigens auch, dass bei Konfigurationsänderungen (z.B. Drehen des Geräts) standardmäßig die Activity komplett neu gestartet wird.
Mort ist offline   Mit Zitat antworten
Alt 10.05.2011, 14:05   #4 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 16.09.2010
Beiträge: 51
Abgegebene Danke: 15
Erhielt 3 Danke für 1 Beitrag
Standard AW: Frage zur Progress Dialog

Ahh, ok ich werde es mit Handler mal probieren. Danke für die Hilfe!
r4in ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Frage zur Kameralinse chris444 LG P990 Optimus Speed Forum 2 14.04.2011 10:58
Kleine Frage zur G.O.T OR Oliver Beyer Root / Hacking / Modding für Motorola Milestone 4 26.08.2010 19:36
Frage zur Lautlosfunktion Samyyyy HTC Tattoo Forum 0 28.05.2010 10:43
Frage zur Tastatur wraku HTC Hero / T-Mobile G2 Touch Forum 1 19.03.2010 05:42
Frage zur Hardwaretastatur chrissi77 Motorola Milestone Forum 4 27.01.2010 18:19




Du liest gerade: "Frage zur Progress Dialog" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.