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();




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值