因爲當我點擊按鈕,它等待20秒,然後讓文本到文本視圖,我的要求是1秒後,進度欄必須增加5個值。 任何一個可以指導我在下面的代碼進度條不按鈕更新點擊
public class ProgressBar1 extends Activity{
TextView tvpbview;
ProgressDialog pd1;
ProgressBar pbhr1;
Button btnhp1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.progressbar1);
btnhp1 = (Button) findViewById(R.id.btnProgress);
pbhr1 = (ProgressBar) findViewById(R.id.pbHori1);
pbhr1.setMax(100);
btnhp1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
//--- For Horizontal Progress Bar------
for(int i=0;i<=20;i++)
{
pbhr1.incrementProgressBy(5);
tvpbview.setText(""+pbhr1.getProgress()+"% done");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
你不應該在主線程中這樣做。因爲它會阻止整個活動。這是你應該擁有的第一個想法。創建一個新的線程,然後將消息發送到處理程序,並從那裏更新PB。 – 2012-07-20 15:54:02