教你如何使用CountDownTimer定时器(短信验证码倒计时)

效果图镇楼

倒计时
短信验证

今天我们讲解一下短信验证码的倒计时功能如何处理。如有需要制作弹框的小伙伴也可先了解一下

http://blog.csdn.net/qq_36621990/article/details/77863810

如果不需要弹框的话,我们直接进入今天的主题。短信验证码倒计时功能。
一,首先我们先初始化获取短信验证的按键(findViewById),然后为其设置监听。
二,重写CountDownTimer工具类

//定时器
    class MyCountDownTimer extends CountDownTimer {
    //我这里写的是内部类,如果需要把类单独提出要在类前加public如对内部类有疑问可点击查看[http://blog.csdn.net/qq_36621990/article/details/77529058]


        public MyCountDownTimer(long millisInFuture, long countDownInterval) {
        //定时器通过构造函数传入的变量,分别代表总时间和倒计时间隔时间
            super(millisInFuture * 1000, countDownInterval * 1000);

        }

        @Override
        public void onFinish() {
        //定时器倒计时结束后回调的方法,我们可以在这里改变发送按键的文字和状态
            code_发送.setText("重新获取");
            //将发送按键设置为可点击状态
            code_发送.setEnabled(true);
        }

        @Override
        public void onTick(long millisUntilFinished) {
        //每到达一次倒计时的间隔时间回调一次该方法(如果倒计时间隔时间是一秒钟,那么每秒刷新一次)
            code_发送.setText(millisUntilFinished / 1000 + "秒后重试");
            //设置倒计时的UI界面(效果图中多少秒后重试的秒钟)
        }
    }

三,在监听方法中启动定时器或者取消定时器

  @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.code_发送:
            //新建定时器对象,同时传入倒计时的总时间和时间间隔
                MyCountDownTimer timer = new MyCountDownTimer(60, 1);
                timer.start();//启动定时器
                code_发送.setEnabled(false);//将发送按钮设置为不可点击
                break;
            case R.id.code_取消:
                timer.cancel();//取消当前任务
                break;
            default:
                break;
        }
    }

如果还有什么不懂的地方可在博客下方留言。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,625评论 25 709
  • 在此特此声明:一下所有链接均来自互联网,在此记录下我的查阅学习历程,感谢各位原创作者的无私奉献 ! 技术一点一点积...
    远航的移动开发历程阅读 13,878评论 12 197
  • 先说一下这篇文章里面的内容:TCP 客户端, 自定义对话框, 自定义按钮, ProgressBar竖直显示, 重力...
    杨奉武阅读 8,850评论 0 3
  • 今天忙活了半天,也吓了我一跳,老大明天考试甲沟炎也犯了,八点领他去医院去了一趟,到医院一看不要紧,到家要穿宽松一点...
    李亚诺阅读 1,150评论 0 0
  • 似乎自有安排,某甲在石门县住的地方,离站台很近,而且,这个站台可以去夹山和洛浦,只是去了夹山,还要回到起点,再坐去...
    洪州禅心阅读 4,442评论 0 1