当我尝试从线程访问它时,不会显示Progressbar,也不会更新进度。我希望只有一个进度微调器显示,直到网络活动完成,这个网络活动只是将一些文本数据发布到服务器。这是我到目前为止的代码,任何帮助表示赞赏谢谢,
Thread th = new Thread(){
public void run() {
try {
sleep(5000);
while(cnt < 5000){
activty.this.runOnUiThread(new Runnable(){
public void run()
{
ProgressBar pd = (ProgressBar)findViewById(R.id.progressBar1);
pd.setVisibility(0);
pd.setMax(100);
pd.setProgress(cnt);
cnt += 100;
}
});
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
int cnt = 100;
};
th.start();
`
答案 0 :(得分:2)
这正是您希望使用AsyncTask的情况,Processes and Threads Guide在单独的线程中处理数据,并包含方法publishProgress
和onProgressUpdate
以更新UI线程上的UI。
{{3}}也有一个如何实现AsyncTask的例子。