我的AsyncTask类在for循环中不起作用。以下是我的代码,请查看它。
for (int i = 0; i < size; i++) {
String id = careplan_disease_Parser.DiseaseID.get(i);
String method = "GetCarePlan_Comment?CurrentValue=0&OptionId=" + id + "&DiseaseID=" + id + "&OrgId=" + orgId + "";
String link = "GetCarePlan_Comment_dislink";
task = new AsyncTask123();
task.execute(link, method);
method=null;
link=null;
task=null;
}
任务只执行一次。所以我无法在循环中第二次从Web服务获得价值。 请帮助我如何使其发挥作用。
谢谢
答案 0 :(得分:0)
你可以编写一个start-method,它在你的AsyncTask的onPostExecute部分调用。它应该是这样的:
private void start(int number)
{
if(number == size)
{
//exit
}
else
{
new AsyncTask123().execute(link, method);
}
}
private class AsyncTask123 extends AsyncTask<> {
protected void onPostExecute() {
start(i++);
}
}
这应该有用,你只需要满足你的需要。
答案 1 :(得分:0)
如果您想在for循环中使用AsyncTask,那么您应该像以下一样调用您的类:
new AsyncTask123().execute(link, method);
不喜欢:
task = new AsyncTask123();
task.execute(link, method);