我建立一個Android應用程序。它解析存儲在數據庫中的訂閱源。應用程序的每個活動都可以從數據庫中獲取這些數據。所有活動的一個裝載機
每個活動也可以調用服務,並使其刷新數據。完成後,我想顯示一個加載器。在下載服務時,用戶仍然可以在活動之間進行導航。我的問題是;我如何顯示一個在用戶導航到的所有活動中運行的加載器?
感謝很多:)
我建立一個Android應用程序。它解析存儲在數據庫中的訂閱源。應用程序的每個活動都可以從數據庫中獲取這些數據。所有活動的一個裝載機
每個活動也可以調用服務,並使其刷新數據。完成後,我想顯示一個加載器。在下載服務時,用戶仍然可以在活動之間進行導航。我的問題是;我如何顯示一個在用戶導航到的所有活動中運行的加載器?
感謝很多:)
這裏就是我會努力去做,因爲它似乎是一種不常見的任務,對我說:
我會嘗試建立一個半透明PopupWindow其中包含一個進度指示器。我會觸發/關閉這個彈出窗口顯示/或不只要有需要,指示加載進度...
你可以嘗試這樣的:
onPreExecute()
的更新,以備全球裝載機(例如它的狀態設置爲當前的水平,如果該服務已被下載了一會兒)onProgressUpdate()
,並用它通過詢問服務的當前狀態(負載百分比或東西)來更新全球裝載機的狀態在doInBackground
您實現:
while(service.isLoading()) {
publishProgress(service.getLoadPercentage())
// Maybe add a Thread.sleep() here.
}
onPostExecute
將全局加載器的可見性設置爲View.GONE。如果用戶在加載尚未完成時切換遠離活動,則可能需要實施一種殺死AsyncTask的方法。
是否要在每個活動中指明加載,以及服務何時完成加載,您希望顯示用戶當前所進行的任何活動的獨立結果?我是否正確? – Knickedi
結果很簡單。我只會從服務中發送廣播。服務完成後,我只想隱藏加載程序。 – johan
這是我的問題的答案還是你解決了你的問題?我很困惑... – Knickedi