我是靠谱客的博主 迅速煎蛋,最近开发中收集的这篇文章主要介绍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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部