![](/img/trans.png)
[英]How to return JSONObject from doInBackground() method to onPostExecute() method on AsyncTask?
[英]How can i return value from AsyncTask class onPostExecute method?
我嘗試使用onPostExecute
方法中的字符串,但必須為此過程編寫接口或處理程序。 我讀了一些東西,但我不清楚。 我的onPostExecute
方法:
protected void onPostExecute(String result) {
try {
JSONArray jArray = new JSONArray(result);
JSONObject json_data;
for (int i = 0; i < jArray.length(); i++) {
json_data = jArray.getJSONObject(i);
t = json_data.getString("name");
names.add(t);
}
} catch (JSONException e1) {
e1.printStackTrace();
} catch (ParseException e1) {
e1.printStackTrace();
}
super.onPostExecute(result);
}`
異步函數不能返回值,因為它們不像普通函數那樣被調用。 而不是由另一個函數觸發,而是由事件處理程序觸發。
在這種情況下,您需要定義一個promise(使用一個延遲的對象, https://github.com/CodeAndMagic/android-deferred-object ),它基本上告訴您要返回的函數“我還不知道什么會的,但是我會告訴你的。”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.