gpt4 book ai didi

Android Async 异步任务组完成

转载 作者:行者123 更新时间:2023-11-29 21:10:40 25 4
gpt4 key购买 nike

我有一个调用多个异步请求的 android 函数。我想知道什么时候全部完成。我看到了 onPostExecute() 但它只告诉我是否已经完成。有办法做到这一点吗?

最佳答案

也许最简单的方法是创建一个计数器变量,例如int taskCount,设置为执行前需要运行的AsyncTask个数。然后创建一个将递减计数器的方法,并从每个任务的 onPostExecute() 方法中调用它。当 taskCount == 0 时,任务将完成。

一个非常简单的例子:

int taskCount;

private void startTasks()
{
Task task1 = new Task();
Task task2 = new Task();
Task task3 = new Task();

taskCount = 3;

task1.execute();
task2.execute();
task3.execute();
}

private void taskDone()
{
taskCount--;
if (taskCount == 0)
{
Toast.makeText(MainActivity.this, "All done!", 0).show();
}
}

private class Task extends AsyncTask <Void, Void, Void>
{
@Override
protected Void doInBackground(Void... args)
{
return null;
}

@Override
protected void onPostExecute(Void result)
{
taskDone();
}
}

关于Android Async 异步任务组完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22979478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com