Android的计时器与Java的有点不同,需要配套TimerTask使用,基本的用法如下:

Handler handler = new Handler() {       // 定义处理信息的方法       public void handleMessage(Message msg) {           switch (msg.what) {           case 1:               //处理代码               break;           }           super.handleMessage(msg);       }     };   TimerTask timerTask = new TimerTask() {         @Override      public void run() {           Message message = new Message();           message.what = 1;           handler.sendMessage(message);       }     };   // new一个计时器实例   Timer timer = new Timer();   // new一个计时器任务的实例,并重写其run方法,定义触发的动作     // 设定计时器的任务以及时间   timer.schedule(welcomeTask, 1500);  

Timer有个Cancel的方法,一旦调用,之后再schedule任务就会报错.同样,TimerTask也可以取消,但当Timer计时完毕触发调用该任务时就会报错说,该任务已取消!

所以要实现循环计时的动作,可以用以下的方法:

              private Handler handler = new Handler() {// 定义处理信息的方法public void handleMessage(Message msg) {switch (msg.what) {case 1:                                                           //处理代码                                       timer.cancel();           break;}super.handleMessage(msg);}};;private Timer timer =null;private class MyTimeTask extends TimerTask{@Overridepublic void run() {Message message = new Message();message.what = 1;handler.sendMessage(message);}}//某处调用timer*************************************************************                timer = new Timer(); //计时任务开始timer.schedule(new MyTimeTask(), 2000);

更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. Android(安卓)StateMachine记录
  5. Android(安卓)Fragment基础之动态添加Fragment 实现两个Fragment
  6. 【android】对canvas的translate(),save(),restore()方法的理解
  7. Android(安卓)监听前台后台切换
  8. 禁止Edittext弹出系统软键盘 的几种方法
  9. SQLite数据库总结

随机推荐

  1. android 判断联网类型
  2. cross compile busybox for android
  3. android 书架效果实现
  4. Android简单计算器界面实现
  5. Android Studio计算器 app
  6. Android GMS认证项总结
  7. Android中数据库升级
  8. android 获取当前设备的ip地址 mac地址
  9. AndroidStudio修改虚拟机AVD路径
  10. Managing APN Settings on Google Androi