同时运行asyntask(android)
我尝试在后台运行一个asynctask,另一个从webservice加载一些东西,以获得一个新的listview 这是我的密码 AsyncCallForwardListWS同时运行asyntask(android),android,android-asynctask,Android,Android Asynctask,我尝试在后台运行一个asynctask,另一个从webservice加载一些东西,以获得一个新的listview 这是我的密码 AsyncCallForwardListWS private class AsyncCallForwardListWS extends AsyncTask<Void, Void, Void> { @Override protected void onPreExecute() { } @Override protec
private class AsyncCallForwardListWS extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
}
@Override
protected Void doInBackground(Void... params) {
//List<Request_model> thisList = newList;
//List<Tn_Parent> thisList = listDataParent;
List<Request_model> thisList = lvList;
System.out.println("there2: " + thisList.size());
for (int y = 0; y< thisList.size(); y++){
//Request_model model = thisList.get(y);
//Tn_Parent model = thisList.get(y);
Request_model model = thisList.get(y);
if(model.isSelected()){
if(action.equals("deny")){
//getComment = model.getApproverComment();
getComment = model.getApprComments();
}else
getComment = "This request is " + ACTION_MSG + " by " + model.getUser_fullName() + " via mobile app";
//getComment = "This request is " + ACTION_MSG + " by " + model.getApproverName() + " via mobile app";
taskActivity_forward = model.getTaskActivity();
getRequestID = model.getRequestId();
System.out.println("testing");
db.addInfo(new Request_model(model.getRequestId()));
System.out.println("requestid: " + getRequestID);
ForwardWebService();
}
}
return null;
}
这两个asynctasks实际上是同时运行的,但是AsyncCallForwardListWS中的for循环不会根据我选择的复选框的数量进行循环,这太奇怪了。请帮助。did System.out.println(“there2:+thisList.size());显示列表的确切编号?
如果不尝试
List<Request_model> thisList=new List<Request_model>();
thisList.addAll(lvList);
//at post of
List<Request_model> thisList = lvList;
List thisList=新列表();
thisList.addAll(lvList);
//担任
List thisList=lvList;
如果您真正的问题是检查ListView
或RecyclerView
中的项目,为什么要发布所有关于“异步”异步任务的代码和解释?发布您的列表适配器,以及如何更改lvList
中的项目,以使它们isSelected
。您可以在后台运行一个任务,而不显示ui线程中的加载程序…@Divers,因为我已确认我的复选框没有问题。现在的问题是asynctask的for循环。它不是根据我选择的复选框的数量循环。@ApoorvMehrotra你能详细说明一下吗?我真的不明白我的意思是,你有2个aync任务,用于2个不同的任务,因此根据优先级,在第一个任务“加载数据”中显示加载程序&同时在后台运行第二个异步任务,而不在后台运行加载程序代码。还要记住一件事,在第一个异步任务的post块中启动第二个异步任务,以便首先执行主优先级代码。如果您不清楚,我有一个与此相关的代码,我可以共享。@Mahdouani是的。列表大小是正确的,我只是想知道为什么for循环没有循环
new AsyncCallForwardListWS().execute();
new AsyncCallListWS().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
List<Request_model> thisList=new List<Request_model>();
thisList.addAll(lvList);
//at post of
List<Request_model> thisList = lvList;