我有一個同步服務,我想要一個進度欄,因爲它需要> 1分鐘才能同步所有數據,而且我不想使用不確定的進度。我有一個Handler用於同步函數,並且引用並正確更新progressBar的進度,但UI不更新。處理程序內的ProgressBar更新
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
//Sync calls
updateProgress(getContext());
}
};
public static void updateProgress(Context c){
layout = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
progress_view = layout.inflate(R.layout.sync_dialog, null);
mProgressStatus += mProgressStep;
mProgress = (ProgressBar) progress_view.findViewById(R.id.progress);
mProgress.setProgress(mProgressStatus);
}
我試過使用ASynchTask類沒有成功。任何幫助表示讚賞。
你爲什麼要在updateProgress方法中使視圖膨脹?你有沒有嘗試使用runOnUiThread(new Runnable(){public void run(){}})在UI線程上更新它; – Guardanis