Wie zu verwenden asynctask eine Statusleiste angezeigt, die nach unten zählt?
In meiner Anwendung möchte ich den Benutzer auf einen Knopf drücken und dann warten Sie 5 Minuten. ich weiß, das klingt schrecklich, aber nur mit ihm zu gehen. Die Verbleibende Zeit der 5 min Wartezeit angezeigt werden soll, in die Statusanzeige.
War ich mit ein CountDownTimer mit einem text-anzeigen, um den countdown aber mein Chef will etwas, das besser aussieht. daher ist die Argumentation für ein Fortschrittsbalken.
Sie können den Fortschritt, was auch immer Sie wie mit
Wenn Ihr ein set mal eine fake progress bar.. Vielleicht ein gif, die letzten 5 Minuten.
Aus der docs für
Warum verwenden nicht Sie eine
Ich weiß nicht, warum ich damals nicht gedacht. Danke.
setProgress()
. Nur nennen Sie es, Wann immer Sie wollen, Sie zu aktualisieren.Wenn Ihr ein set mal eine fake progress bar.. Vielleicht ein gif, die letzten 5 Minuten.
Aus der docs für
AsyncTask
... "AsyncTasks sollte idealerweise verwendet werden, für kurze Operationen (ein paar Sekunden bei den meisten.)" - Sie sollten wirklich nicht mit einer 5 minütigen AsyncTask
Warum verwenden nicht Sie eine
CountDownTimer
mit einem ProgressBar
?Ich weiß nicht, warum ich damals nicht gedacht. Danke.
InformationsquelleAutor wyatt | 2013-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie so etwas tun..
Dann schreiben Sie eine async-task zu aktualisieren, Fortschritte.
Diese lösen sollte Ihren Zweck erfüllen und es nicht sogar zu blockieren UI-tread..
ändern Sie den zweiten parameter von AsyncTask zu Integer, als Sie brauchen nicht zu analysieren, Fortschritte[0] , Integer.. und nur schreiben einfach publishProgress(Fortschritt) ohne "" +
veraltet: stackoverflow.com/questions/10285047/...
Als nicht allzu offensichtlich in dieser Antwort, der zweite Parameter in
extends AsyncTask<String, String, String>
diktiert, was die zu erwartenden Parameter sind füronProgressUpdate
undpublishProgress
. Sie müssen auch das überschreiben der MethodeInformationsquelleAutor Sushil