Android 使用CountDownTimer控件实现倒计时

1,自定义工具类

/**
 * 获取验证码
 */

**工具类**
public class VerifyCodeTimeDown extends CountDownTimer {

    private TextView btGetVerifyCode;

    public VerifyCodeTimeDown(long millisInFuture, long countDownInterval, TextView btGetVerifyCode) {
        super(millisInFuture, countDownInterval);
        this.btGetVerifyCode = btGetVerifyCode;
    }

    @Override
    public void onTick(long millisUntilFinished) {
        btGetVerifyCode.setText(millisUntilFinished / 1000 + "秒");
    }

    @Override
    public void onFinish() {
        btGetVerifyCode.setText("重新获取");
        btGetVerifyCode.setClickable(true);
    }

    public void startNow() {
        btGetVerifyCode.setClickable(false);
        start();
    }
}


2,Activity中的调用

    private CountDownTimer mCountDownTimer; 
    private TextView time;
    private void requestSendSms() {

        if (mCountDownTimer != null) {
            return;
        } else {
            mCountDownTimer = new CountDownTimer(60 * 1000, 1000) {
                @Override
                public void onTick(long millisUntilFinished) {
                    time.setText((millisUntilFinished / 1001) + " s");
                }

                @Override
                public void onFinish() {
                    mCountDownTimer = null;
                    requestSendSms(); // 重新调用这个方法可以再次进行倒计时不断循环
                }
            };
        }
        mCountDownTimer.start();}

3,不使用的时候可以cancel

    mCountDownTimer.cancel()

结束语,使用简单方便!

转载于:Android实现60秒倒计时_explorer..的博客-CSDN博客_android 倒计时60秒

猜你喜欢

转载自blog.csdn.net/weixin_42602900/article/details/127107235
今日推荐