Android全局进度对话框

时间:2013-08-06 20:11:08

标签: android asynchronous

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

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

另请注意,可能会有一到五个AsyncTasks同时运行。

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

1 个答案:

答案 0 :(得分:1)

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

真的没有办法知道什么时候看到什么任务正在运行而不做那样的事情。

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