-1

我有一个AsyncTask类可以处理我的应用程序的所有网络调用。我还有一个Globals包含进度对话框的类。现在,我想要的是一次只有一个进度对话框;这很简单。该类Globals初始化对话框,每次使用它时AsyncTask,只更改消息。我的问题是确定何时解雇它。如果我p.dismiss()在结束时使用onPostExecute(),那么进度条将消失,直到下一次AsyncTask运行,这不是我想要的。但是,如果我不在那里包含该行,那么进度对话框将无限期地保持不变。我想我正在尝试寻找一种方法来查看是否所有人AsyncTasks都已完成运行。通过这样做,一个全局进度对话框将能够关闭而不会看起来很奇怪。

将所有链接在一起AsyncTasks不是一种选择(例如,让第一个在其 中执行第二个onPostExecute())。

另请注意,可能有 1 到 5 个AsyncTasks同时运行。

如何确定每个AsyncTask是否完整?

4

1 回答 1

1

您可以跟踪您正在启动的数量,并在每次任务完成时创建一个回调类,然后当返回的计数与开始计数匹配时,您就知道所有任务都已完成。

如果不做类似的事情,真的没有办法知道什么时候看到正在运行的任务。

有一个getStatus但您必须继续轮询状态以查看单个任务是否已完成

于 2013-08-06T20:19:52.457 回答