码迷,mamicode.com
首页 > 移动开发 > 详细

每日总结 - android中计时器类CountDownTimer

时间:2014-11-17 13:42:41      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   color   ar   sp   div   on   art   

定时器一般用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         @Override
14         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     @Override
5     public void onClick(View v) {
6         time.start();
7     }
8 });

构造方法中的两个参数中,前者是倒计的时间数,后者是倒计每秒中间的间隔时间,都是以毫秒为单位。

每日总结 - android中计时器类CountDownTimer

标签:android   style   blog   color   ar   sp   div   on   art   

原文地址:http://www.cnblogs.com/dongye/p/4103249.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!