zoukankan      html  css  js  c++  java
  • 每日总结

    定时器一般用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 });

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

  • 相关阅读:
    php文件下载原理
    spring源码@configuration&@bean
    解决java在idea运行正常,但是打成jar包后中文乱码问题
    IntelliJ IDEA查看堆内存和类继承关系
    jenkins无法展示报告
    解决windows(slave)导致linux(master)输出乱码
    UIRECODER安装记录
    vue项目前后端部署
    django orm
    django笔记
  • 原文地址:https://www.cnblogs.com/dongye/p/4103249.html
Copyright © 2011-2022 走看看