Android菜鸟笔记-利用CountDownTimer实现倒计时功能

为了实现倒计时的效果,便用到了CountDownTimer类,代码如下:

1.通过匿名类的方式实现如下(例如倒计时30秒,按1秒更新一次数值,代码里的单位是毫秒):

new CountDownTimer(30000, 1000) {

     public void onTick(long millisUntilFinished) {
         mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);//1000毫秒触发一次onTick()
     }

     public void onFinish() {
         mTextField.setText("done!");
     }
  }.start();



2.实际使用中发现通过匿名类实现虽然方便,但是不好控制,比如暂停,所以我们也可以通过内部类的方式实现,当然匿名类也是内部类的一种特殊形式:

class MyCount extends CountDownTimer
	{

		public MyCount(long millisInFuture, long countDownInterval) {
			super(millisInFuture, countDownInterval);
			// TODO Auto-generated constructor stub
		}

		@Override
		public void onFinish() {
			// TODO Auto-generated method stub
			//倒计时完成的动作
		}

		@Override
		public void onTick(long millisUntilFinished) {
			// TODO Auto-generated method stub
			//按设定时间触发
		}
		 
	}
使用时:

MyCount mc = new MyCount(30000, 1000);  //倒计时30秒,1秒触发一次onTick()事件
mc.start();//开始倒计时
暂停时:

mc.cancel();




你可能感兴趣的:(Android菜鸟笔记-利用CountDownTimer实现倒计时功能)