我有一个AsyncTask
类,它可以处理我的应用的所有网络呼叫。我也有一个持有进度对话框的Globals
类。现在,我想要的是一次只有一个进度对话框;这很简单。 Globals
类会初始化对话框,并且每次被AsyncTask
使用时,只会更改消息。我的问题是确定何时解雇它。如果我在onPostExecute()
的末尾使用p.dismiss()
,则进度条将消失,直到下一个AsyncTask
运行,这不是我想要的。但是,如果我不包含该行,那么进度对话框将无限期地保持不变。我想我试图找到的是一种方法,看看是否所有AsyncTasks
已完成运行。通过这样做,那么这个全球进度对话框就能够关闭而不会看起来不整洁。Android全局进度对话框
将所有AsyncTasks
链接在一起不是一个选项(例如,第一个在onPostExecute()
中执行第二个)。
还要注意,有可能是之间的任何一个和五个AsyncTasks
在同一时间运行。
如何确定每个AsyncTask
是否完整?
啊。我担心会这样。好吧。感谢您的帮助。 和网站告诉我,我必须等待4分钟,给你最好的答案。 –
您不需要轮询每个任务的onPostExecute,查看是否所有其他任务都已完成。如果是这样,那么他们都完成了。如果没有,那么不是所有的人都完成了。所以你只需要保存一个已经开始的任务列表。但是对于他的使用,一个简单的变量会在每个任务的onPreExecute中递增,并在每个类的onPostExecute中递减,并在达到0时关闭dialgo。 –
Gabe,这实际上比我想象的要简单得多。谢谢;这是非常有用:) –