ProgressBar setProgress()方法 不更新进度解决

ProgressBar setProgress()方法 不更新进度

项目中有个需求就是定时刷新一个进度条的操作,用了ScheduledThreadPoolExecutor 的scheduleAtFixedRate()方法定时调度,但是每次返回数据之后 进度条也都是没动的。

查了下资料 还是那个基础问题
当前线程是出于MainActivity.java,属于主线程,UI线程;
所以,之前每次虽然调用setProgress,但是此时线程还是出于忙的状态,所以UI中的进度条没法更新。
所以得另开一条线程去更新UI,
progressBar.post(new Runnable() {
@Override
public void run() {
progressBar.setProgress(Math.abs(time) / 3);
}
});

哇 感觉基础都快忘得差不多了,有时间还是多看书多撸码,自勉之!

猜你喜欢

转载自blog.csdn.net/qq_31017737/article/details/79974218