首页 > 代码库 > 每日总结 - android中计时器类CountDownTimer
每日总结 - android中计时器类CountDownTimer
定时器一般用handler和线程或者timer来实现,但是android中提供了一个计时器类CountDownTimer。定时执行在一段时候后停止的倒计时,在倒计时执行过程中会在固定间隔时间得到通知(触发onTick方法)。将后台线程的创建和Handler队列封装成为了一个方便的类方便开发者调用。
1 /* 定义一个倒计时的内部类 */ 2 class TimeCount extends CountDownTimer { 3 public TimeCount(long millisInFuture, long countDownInterval) { 4 super(millisInFuture, countDownInterval);// 参数依次为总时长,和计时的时间间隔 5 } 6 7 @Override 8 public void onFinish() {// 计时完毕时触发 9 btnResend.setText("重新发送验证码");10 btnResend.setClickable(true);11 }12 13 @Override14 public void onTick(long millisUntilFinished) {// 计时过程显示15 btnResend.setClickable(false);16 btnResend.setText(millisUntilFinished / 1000 + "秒");17 }18 }
主要是重写onTick和onFinsh这两个方法,onFinish()中的代码是计时器结束的时候要做的事情;onTick(Long m)中的代码是你倒计时开始时要做的事情,参数m是直到完成的时间。
计时器创建示例如下:
1 time = new TimeCount(12000, 1000);
1 // 重新发送验证码2 btnResend.setOnClickListener(new OnClickListener() {3 4 @Override5 public void onClick(View v) {6 time.start();7 }8 });
构造方法中的两个参数中,前者是倒计的时间数,后者是倒计每秒中间的间隔时间,都是以毫秒为单位。
每日总结 - android中计时器类CountDownTimer
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。