ListView嵌套Gallery Gallery的多線程更新思路
書柜形式(ListView嵌套Gallery)的每本書的進度條更新思路:
1、完成多線程、斷點續傳的下載器的編寫;
2、使用服務來啟動下載任務,繼承Service;若繼承IntentService,其中的OnHandleIntent方法一次只能處理一個Intent,當Intent結束后再順序處理下一個Intent;
3、通過廣播更新界面
由于ListView嵌套Gallery,所以在ListAdapter中的Gallery.setOnClickItemListener中,對當前任務狀態進行判斷,未曾下載、下載中、暫停,做出不同的反應。然后在GalleryAdapter中加入廣播接收器,對當前的Gallery進行更新。
由于是多任務下載,所以意為著要申明一個全局變量,用于記錄”行、列、進度“,類型為Map<String,Map<Integer,Integer>>。啟動任務的時候,將行列的值通過Intent傳入Service中,然后再在Service中傳入下載器中,最后在下載器的監聽器中暴露出來,將行、列和進度一起通過廣播傳給接收器。在GalleryAdapter的getView中對全局變量進行判斷顯示進度條。
剩余問題:如何暫停某一個下載器的下載任務??主要問題在于如何獲得自定義Service類的對象。
效果如圖:


浙公網安備 33010602011771號