在做项目的时候,经常需要实现调用服务端接口进行发送手机验证码的功能,那么在手机收到验证码之前,需要有一个倒计时的展示以提升用户,网上搜了一下有很多种实现方式,除了自己实现之外,Android已经封装好了一个类CountDownTimer。
在一个TextView上进行倒计时10秒,代码如下:
private TextView vertifyView;
private CountDownTimer timer = new CountDownTimer(10000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
vertifyView.setText((millisUntilFinished / 1000) + "秒后可重发");
}
@Override
public void onFinish() {
vertifyView.setEnabled(true);
vertifyView.setText("获取验证码");
}
};
调用的时候很简单:timer.start();
最后说明一下:CountDownTimer timer = new CountDownTimer(10000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间。意思就是每隔一秒会回调一次方法onTick,然后10秒之后会回调onFinish方法。