在平时我们编程的时候,经常会用到倒计时这个功能,这时有人会使用handler+thread+递归实现这个功能。这样从内存优化上是不可取的,其实android早就为我们封装了CountDownTimer类用以实现这个功能,
在一个TextView不断显示剩下的时间,代码如下:
private TextView vertifyView;
//第一个参数表示总时间,第二个参数表示间隔时间。意思就是每隔一秒会回调一次方法onTick,然后10秒之后会回调onFinish方法
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("获取验证码");
}
};