我有一个大问题:
我想在几个异步任务完成后启动一个新的 Activity 。 我的问题是异步任务是动态启动的。有时我只有一个异步任务,有时我有五个异步任务。 更大的问题是,所有都是相同的异步任务,只是具有不同的 URL。因为它们是下载任务。
有人可以帮忙吗?
解决方案:
我创建了一个计数器,每个可用更新的计数都会增加 1。因此,如果有五个更新可用,计数器将设置为 5。每次完成更新和解压缩,计数器将设置为低 1。如果 counter == 0
它将打开新的 Activity。
感谢您的所有回答。
最佳答案
使用分配有 AsynTasks 数量的全局变量计数器,
每次 onPostExecute 都会递减计数器
ON if(counter ==0) 开始新的 Activity
class A{
int counter =0;
public doJob(int jobCOunt){
this.counter = jobCount
new Job().execute();
}
class Job extends AsyncTask{
...
protected void onPostExecute(Boolean success) {
counter--;
if(counter == 0){
startActivity
}
}
}
}
关于java - 如何在多个异步任务完成后启动新的 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40061822/