如何從AsyncTask返回一個列表而不是一個方法?Android java AsyncTask返回類不是方法
我有這個AsyncTask,它連接到一個網頁,將頁面讀入一個字符串,然後將其全部分成變量。 This is the page
這是的AsyncTask:
public class sellableIds_AsyncTask extends AsyncTask<String, Void, List> {
String bodyHtml;
List<String> items;
private Context context;
private sellableIdsFilter sellableIdsFilter;
public sellableIds_AsyncTask(Context context) {
this.context = context;
}
public void setSellableIdsFilter(sellableIdsFilter sellableIdsFilter) {
this.sellableIdsFilter = sellableIdsFilter;
}
@Override
protected List doInBackground(String... params) { //Incompatible return type
try {
HttpClient httpClient = new DefaultHttpClient();
HttpGet get = new HttpGet(params[0]);
HttpResponse response = httpClient.execute(get);
bodyHtml = EntityUtils.toString(response.getEntity()).replace("[", "");
;
items = Arrays.asList(bodyHtml.split("\\s*,\\s*"));
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return items;
}
@Override
protected void onPostExecute(List result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
this.sellableIdsFilter.sellableIdsFilter(result);
}
public interface sellableIdsFilter {
public void sellableIdsFilter(List result);
}
}
之稱的活動:
sellableIds_AsyncTask sellableIds_AsyncTask = new sellableIds_AsyncTask(this);
sellableIds_AsyncTask.setSellableIdsFilter(this);
sellableIds_AsyncTask.execute(sellableIdsUrl);
我怎麼能回到這個名單的地方,我把它從與活動都能夠名單在課堂中的任何地方使用?替代的方法sellableIdsFilter();
傳遞你的活動/片段在asynctask構造函數中,調用onPostExcute中的活動/片段的方法 - 完成。注意刪除onCancled中的引用() – for3st
@ for3st你究竟做了什麼?你能詳細說明嗎? –