Android学习历程3-倒计时类的简单介绍

来源:互联网 发布:字符能遍历吗python 编辑:程序博客网 时间:2024/06/09 20:36

倒计时类的简单介绍

在做安卓开发的时候,倒计时是一个使用的比较频繁的一个类,比如,点击一个获取验证码的按钮之后,我们要让按钮在点击之后的多少秒之内不能再次被点击,这次在项目开发过程中遇到了这样一个需求,因此在这里将其简单实现方式成列出来,

构造函数
public CountDownTimer (long millisInFuture, long countDownInterval)
参数 millisInFuture 从开始调用start()到倒计时完成并onFinish()方法被调用的毫秒数。(译者注:倒计时时间,单位毫秒) countDownInterval 接收onTick(long)回调的间隔时间。(译者注:单位毫秒)

公共方法
public final void cancel () 取消倒计时(译者:取消后,再次启动会重新开始倒计时)

public abstract void onFinish () 倒计时完成时被调用

public abstract void onTick (long millisUntilFinished) 固定间隔被调用
参数 millisUntilFinished 倒计时剩余时间。

public synchronized final CountDownTimer start () 启动倒计时

/* 定义一个倒计时的内部类 */class TimeCount extends CountDownTimer {    public TimeCount(long millisInFuture, long countDownInterval) {        super(millisInFuture, countDownInterval);// 参数依次为总时长,和计时的时间间隔    }    @Override    public void onFinish() {// 计时完毕时触发        mCountFlag = false;        bt_get_verification_code.setEnabled(true);        bt_get_verification_code.setText(MResource.findString(mContext, "password_bind_phone_layout_string_get_verify_code"));        // iv_getVerifyCode.setOnClickListener((OnClickListener) mContext);    }    @Override    public void onTick(long millisUntilFinished) {// 计时过程显示        String ts = millisUntilFinished / 1000 + "";        ts += mContext.getResources().getString(MResource.findString(mContext, "password_bind_phone_layout_string_get_verify_code_again"));        bt_get_verification_code.setText(ts);        bt_get_verification_code.setEnabled(false);    }}

倒计时的类的使用方法比较简单,,再次就不在多做介绍!

0 0
原创粉丝点击