Ich möchte wissen, wann die Asynktask abgeschlossen ist, sodass ich die Benutzeroberfläche aktualisieren könnte.
Kann jemand helfen ???? Vielen Dank!!!
public String[] getinfo(int id) {
String[] QueueNo = null;
try {
new DLfromServer().execute("url link"); // this is the asynctask
// want to do stuff here after the asynctask is completed
// actually I want to return a string result after the task is finished....
}
} catch (JSONException e) {
Log.e("GetJSON", "Err:", e);
}
return QueueNo;
}
Antworten:
1 für die Antwort № 1Ich möchte wissen, wann die Asynktask abgeschlossen ist, sodass ich sie aktualisieren könnte die Benutzeroberfläche.
Ja, Sie können verwenden onPostExecute
Methode, die den UI-Thread nach aufruft doInBackground
Die Ausführung ist abgeschlossen.
Wenn Sie Daten im Haupt-UI-Thread wiederherstellen möchten, verwenden Sie AsyncTask.get () Methode für die Ausführung von AsyncTask, da diese Methode bis UI Thread warten lässt doInBackground
Die Ausführung ist abgeschlossen.
String str_result= new DLfromServer().execute("url link").get();
// now use str_result for Updating result
HINWEIS :- Sie müssen anrufen AsyncTask.get()
innerhalb eines Threads statt eines Main-UI-Threads Andernfalls friert der Aufruf der get () -Methode den Main-Thread ein doInBackground
Die Ausführung ist abgeschlossen