new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
倒计时 30 秒、每秒回调一次 onTick、倒计时结束时回调 onFinish。
CountDownTimer 是 Android 系统自带控件。
CountDownTimer 类比较简单,总共就一个构造和4个方法。内部是通过handler实现。
并且 CountDownTimer 的 handler 没有自己初始化 looper,所以应该在有 looper 的线程被调用才能正常工作。
方法 | 说明 |
---|---|
public CountDownTimer(long millisInFuture, long countDownInterval) | millisInFuture 是倒计时时长,countDownInterval 是onTick 的回调间隔 |
start() | 开始倒计时 |
cancel() | 取消倒计时 |
onTink(long millisUntilFinished) | 抽象方法,每个间隔时间一到就会调用一次,需要自己实现。参数millisUntilFinished 是指距离倒计时结束剩下的时间 |
onFinish() | 抽象方法,倒计时结束时回调 |