2015-05-11 39 views
0

我已經實現了一個使用集合視圖的小部件(AdapterViewFlipper)。這個小部件下載平均10 - 20個圖像並顯示它們。它在下載圖像時調用「notifyAppWidgetViewDataChanged」。但是由於這個實現,它閃爍10-20次。有什麼辦法可以避免這種情況?我一直在考慮顯示加載圖標,直到它完成所有圖像下載,但我不知道小部件如何收到通知,所有圖像下載過程完成。如何在執行多個AsyncTasks之後獲得最終狀態

例如,如果有10個圖像要下載並且使用10個AsyncTask對象執行。小部件如何確定是否所有下載過程都已完成(無論它們全部是成功下載的還是其中一些失敗的)

回答

0

假設在下載圖像的情況下,您可以隨時參考下載的圖像,你可以保持一個計數器。增加onPreExecute中的計數器,並在Asynctasks的onPostExecute中將其遞減。如果計數器達到0,則調用notify方法。

+0

但是會有多個asyncTask對象。小部件如何管理所有對象的單個計數器,除非它存儲在文件中?我擔心將它存儲在一個文件中會有快速的IO進程可能相互衝突 – juniano

相關問題