有两种方式:
第一种: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,而且层次上更加分明。
时间: 2024-10-10 22:11:19