子线程刷新UI问题
来源:5-4 指示器:自动滑动版
mailes
2020-03-06 17:29:39
final Handler handler= new Handler();
new Thread(){
@Override
public void run() {
super.run();
try {
sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//
handler.post(runnable);
}
}.start();
// 子线程更新UI 需要用到这个方法 好像只能调用一次。
Runnable runnable = new Runnable() {
@Override
public void run() {
pager2.setCurrentItem(index);
index++;
}
};
好像只能调用一次,如果不用Handler ,直接运行就报错了,版本用的29.
1回答
好帮手慕雪
2020-03-06
pager2在不同的版本,确实是有所差别。子线程更新页面UI时,你先暂时放在MainActivity.this.runOnUiThread里执行吧。如果还是解决不了,同学可以先往后面学习,学完第二阶段前两个课程就可以解决了。因为这涉及到线程的通信问题,不是一两句话能说清楚的,需要一个专题来专门讲解。祝:学习愉快
相似问题
回答 1