在平时我们编程的时候,经常会用到倒计时这个功能,很多人不知道Android已经帮封装好了一个,往往都自己写。现在发现了这个,大家共享一下:
在一个TextView不断显示剩下的时间,代码如下:
p rivate TextView vertifyView;
private CountDownTimer timer = new CountDownTimer(10000, 1000) {
调用的时候很简单:timer.start();
最后说明一下:CountDownTimer timer=new CountDownTimer(10000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间。意思就是每隔一秒会回调一次方法onTick,然后10秒之后会回调onFinish方法。
CountDownTimer的用法及原理
1.主线程中使用
值得注意的是,CountDownTimer可以在主线程中直接使用。验证一下回调的执行线程。在主线程中执行如下代码
2.在工作线程中使用
不能在工作线程中像主线程一样简单使用的原因,是CountDownTimer是基于Handler的,细节将在原理部分说明。主线程已经由安卓框架层启动了消息循环,所以可以直接使用。那么在工作线程中怎样使用呢?可以借助于HanderThread。在onLooperPrepared()中初始化并开启CountDownTimer。