首页 > 代码库 > TimerTask中如何通过Handler交由UIThread更新UI
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。