Android中使用TimerHandler设置每秒刷新操作

效果:

在界面中每秒刷新时间



关键代码如下:

  1. public static TimerHandler timerHandler;    //定义一个TimerHandler全局变量  


在onCreate函数中

  1. timerHandler = new TimerHandler();  //实例化TimerHandler  
  2.         Timer timer = new Timer();     //设置定时器Timer  
  3.         timer.schedule(new MyTimerTask(), 0, 1000 );  //0表示无延迟,1000表示隔1000ms      

 

  1. private class MyTimerTask extends TimerTask    
  2.     {    
  3.         public void run()    
  4.         {    
  5.             MainActivity.timerHandler.sendEmptyMessage(0);                     
  6.         }    
  7.     }    

 

    1. public class TimerHandler extends Handler    
    2.     {    
    3.         @Override    
    4.         public void handleMessage(Message msg)    
    5.         {             
    6.             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
    7.             Date date=new Date();  
    8.             Date date2 = date;  
    9.             try {  
    10.                 date2 = sdf.parse(START_DATE);<span style="white-space:pre">  </span>//START_DATE是自己定义的一个代表日期的字符串全局变量  
    11.             } catch (ParseException e) {  
    12.                 // TODO Auto-generated catch block  
    13.                 e.printStackTrace();  
    14.             }  
    15.             int secondNum=(int)(((date.getTime()-date2.getTime())/(1000))%60);  
    16.             int minNum = (int)(((date.getTime()-date2.getTime())/(60*1000))%60);  
    17.             int hourNum = (int)(((date.getTime()-date2.getTime())/(60*60*1000))%24);  
    18.             int dayNum=(int)((date.getTime()-date2.getTime())/(24*60*60*1000));                   
    19.             MainActivity.day.setText(""+dayNum);  
    20.             MainActivity.hour.setText(""+hourNum);  
    21.             MainActivity.min.setText(""+minNum);  
    22.             MainActivity.second.setText(""+secondNum);  
    23.         }    
    24.     }   
posted @ 2016-11-17 18:04  天涯海角路  阅读(102)  评论(0)    收藏  举报