以下代码在单击按钮时更新一组进度条。 (这些值是随机生成的测试值)。
出于测试目的,我理想地希望进度条不断更新。即按下按钮并进度条更新,等待一两秒钟再重新更新,等等。
我在onClick方法中添加了一个while循环,但它导致应用程序崩溃。
有谁知道如何实现这个?也许我错过了一些非常简单的事情?
提前感谢您的帮助!
Button dtTest = (Button) findViewById(R.id.button1);
dtTest.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// Generate Data Table
int pb1 = (int)(Math.random()*100);
int pb2 = (int)(Math.random()*100);
int pb3 = (int)(Math.random()*100);
int pb4 = (int)(Math.random()*100);
ProgressBar pbFeedPump = (ProgressBar) findViewById(R.id.progressBar1);
ProgressBar pbMediaFilter = (ProgressBar) findViewById(R.id.progressBar2);
ProgressBar pbCartridges = (ProgressBar) findViewById(R.id.progressBar3);
ProgressBar pbMotor = (ProgressBar) findViewById(R.id.progressBar4);
// Update Progress Bars
pbFeedPump.setProgress(pb1);
pbMediaFilter.setProgress(pb2);
pbCartridges.setProgress(pb3);
pbMotor.setProgress(pb4);
}
});
答案 0 :(得分:1)
最简单的方法是使用Timer,尤其是scheduleAtFixedRate
重载之一。
答案 1 :(得分:0)
我认为你应该设定进度的最大值
progDialog.setMax(100);