/ / Android pomocou AsyncTask na aktualizáciu používateľského rozhrania - android, android-asynctask, android-ui

Android pomocou aplikácie AsyncTask na aktualizáciu používateľského rozhrania - android, android-asynctask, android-ui

Chcem vedieť, kedy je asynctask ukončený, aby som mohol aktualizovať používateľské rozhranie.

Môže mi niekto pomôcť ???? Vďaka!!!

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;
}

odpovede:

1 pre odpoveď č. 1

chcem vedieť, kedy je asynctask hotový, aby som mohol aktualizovať používateľské rozhranie.

Áno, môžete použiť onPostExecute metóda, ktorá vyvolá UI vlákno po doInBackground vykonanie je dokončené.

Ak chcete získať údaje späť na vlákno hlavného používateľského rozhrania, použite AsyncTask.get () spôsob vykonávania AsyncTask, pretože táto metóda počká na vlákno používateľského rozhrania do doInBackground vykonanie je dokončené.

    String str_result= new DLfromServer().execute("url link").get();
// now use str_result for Updating result

POZNÁMKA :- budete musieť zavolať AsyncTask.get() vo vnútri vlákna namiesto hlavného používateľského rozhrania. V opačnom prípade by metóda get () zmrazila hlavné vlákno do doInBackground vykonanie je dokončené