我有一個AsyncTask
類,它可以處理我的應用的所有網絡呼叫。我也有一個持有進度對話框的Globals
類。現在,我想要的是一次只有一個進度對話框;這很簡單。 Globals
類會初始化對話框,並且每次被AsyncTask
使用時,只會更改消息。我的問題是確定何時解僱它。如果我在onPostExecute()
的末尾使用p.dismiss()
,則進度條將消失,直到下一個AsyncTask
運行,這不是我想要的。但是,如果我不包含該行,那麼進度對話框將無限期地保持不變。我想我試圖找到的是一種方法,看看是否所有AsyncTasks
已完成運行。通過這樣做,那麼這個全球進度對話框就能夠關閉而不會看起來不整潔。Android全局進度對話框
將所有AsyncTasks
鏈接在一起不是一個選項(例如,第一個在onPostExecute()
中執行第二個)。
還要注意,有可能是之間的任何一個和五個AsyncTasks
在同一時間運行。
如何確定每個AsyncTask
是否完整?
啊。我擔心會這樣。好吧。感謝您的幫助。 和網站告訴我,我必須等待4分鐘,給你最好的答案。 –
您不需要輪詢每個任務的onPostExecute,查看是否所有其他任務都已完成。如果是這樣,那麼他們都完成了。如果沒有,那麼不是所有的人都完成了。所以你只需要保存一個已經開始的任務列表。但是對於他的使用,一個簡單的變量會在每個任務的onPreExecute中遞增,並在每個類的onPostExecute中遞減,並在達到0時關閉dialgo。 –
Gabe,這實際上比我想象的要簡單得多。謝謝;這是非常有用:) –