2011-03-08 111 views
-1

我搜索並找到了什麼看起來像我有確切的問題(http://stackoverflow.com/questions/4369537/update-ui-from-thread)。不幸的是,我仍然無法得到這個工作。從另一個線程更新UI(progressDialog)

我在我的佈局上有一個ImageView。當按下按鈕時,會創建並顯示ProgressDialog。當線程處理數據時,它會在UI中的處理程序上調用incrementProgressBy()方法。在該處理程序中,我使用setImageBitmap()更新ImageView,然後使其失效。它從不更新。接下來,我嘗試從進度條的線程調用ImageView.postInvalidate()。它仍然不會更新,直到進度條完成並被刪除。

任何想法?

+0

聽起來就像你正在做正確的處理程序。由於setImageBitmap()已經做到了,所以沒有必要使位圖無效。 – BitBank 2011-03-08 14:55:47

+1

你應該發佈你的代碼。當您顯示ProgressDialog時,您也知道您的活動已暫停。也許這是原因?你可以嘗試所有相同的沒有ProgressDialog。 – Fedor 2011-03-08 15:00:33

+0

我真的不能沒有對話。實質上,用戶使用應用程序拍攝照片並輸入信息。這些照片稍後會上傳到Web服務。進度條表示已經有多少照片已經存在,剩下多少照片。由於進度對話框並沒有覆蓋整個屏幕,我認爲這將是很好的顯示在後臺發送的圖像。 – Paul 2011-03-08 21:57:39

回答

0

這裏的解決方案是使用AsyncTask。它能夠通過處理程序與UI進行通信。