我是靠谱客的博主 迅速煎蛋,这篇文章主要介绍TimerTask中如何通过Handler交由UIThread更新UI,现在分享给大家,希望可以做个参考。

有两种方式:

第一种:post给Handler


// 开启线程刷新
handler = new Handler();
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
mTextLat.setText(AppContext.getLatitude()+"");
mTextLng.setText(AppContext.getLongitude()+"");
}
});
}
},0,1*1000);

第二种:给Handler发信息

// 开启线程刷新
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
mTextLat.setText(AppContext.getLatitude()+"");
mTextLng.setText(AppContext.getLongitude()+"");
}
super.handleMessage(msg);
}
};
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
Message msg = new Message();
msg.what = 1;
handler.sendMessage(msg);
}
},0,1*1000);

第二种的优势在于主线程能够处理多个线程传递来的信息从而更新不同的UI,而且层次上更加分明。

最后

以上就是迅速煎蛋最近收集整理的关于TimerTask中如何通过Handler交由UIThread更新UI的全部内容,更多相关TimerTask中如何通过Handler交由UIThread更新UI内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(122)

评论列表共有 0 条评论

立即
投稿
返回
顶部