当前位置: 代码迷 >> Android >> Android Timer种的使用
  详细解决方案

Android Timer种的使用

热度:82   发布时间:2016-05-01 16:29:00.0
Android Timer类的使用

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{		@Override		public void run() {			Message message = new Message();			message.what = 1;			handler.sendMessage(message);		}			}//某处调用timer*************************************************************                timer = new Timer(); //计时任务开始	timer.schedule(new MyTimeTask(), 2000);

?