我正在尝试更新进度条,但是每当我使用进度条时它都会显示黑屏。一旦我注释了进度条增量的一部分,我的代码就可以正常工作。有人可以帮我解决我做错了什么吗?
new Runnable() {
@Override
public void run() {
for(int i = 0; i < timeout; i++) {
handler.post(new Runnable() {
@Override
public void run() {
progressbar.incrementProgressBy(1);
}
});
try {
Thread.sleep(1000);
}
catch(Exception e) {}
}
}
}.run();
答案 0 :(得分:2)
只需在您的主线程上使用此代码。
new CountDownTimer(3000, 300) {
@Override
public void onTick(long l) {
progress = progress + 10;
pb.setProgress(progress);
}
@Override
public void onFinish() {
pb.setProgress(100);
}
}.start();
答案 1 :(得分:2)
使用线程,您可以这样做...
public void loadProgressbar()
{
progressBar.setMax(100);
progressBar.setProgress(0);
new Thread(new Runnable() {
@Override
public void run() {
for (progress = 0; progress <= 100; progress++) {
handler.post(new Runnable() {
public void run() {
progressBar.setProgress(progress);
}
});
try {
Thread.sleep(50);
} catch (Exception ex) {
}
}
}
}).start();
}