首页 > 代码库 > Android基础之——CountDownTimer类,轻松实现倒计时功能
Android基础之——CountDownTimer类,轻松实现倒计时功能
在发现这个类之前,一直是用的handler,子线程发消息,UI线程进行倒计时的显示工作。前几天在做一个倒计时显示的时候发现了这个类,用起来很方便
翻看了下源码,内部已经帮我们实现了handler的子线程操作
CountDownTimer这个类用起来很简单,两个参数,几句代码搞定,如下:
CountDownTimer(long millisInFuture, long countDownInterval)
知道这两个参数的意思那就很好办了,new一个CountDownTimer对象就会生成两个回调函数
public void onTick(long millisUntilFinished) { // TODO Auto-generated method stub } @Override public void onFinish() { // TODO Auto-generated method stub }
第一个方法 就是在倒计时的时候调用的,每倒计时一次要进行什么操作,就可以放在这里面做,一般是对UI线程进行一些操作,比如对文本进行更改,达到倒计时的效果
第二个方法是倒计时完成后调用,倒计时完成需要进行什么操作都可以写在里面。
当然,最后一定要记得start() 否则线程不会开始
全部代码:
public class MainActivity extends Activity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.tv); /** 倒计时60秒,一次1秒 */ CountDownTimer timer = new CountDownTimer(60*1000, 1000) { @Override public void onTick(long millisUntilFinished) { // TODO Auto-generated method stub tv.setText("还剩"+millisUntilFinished/1000+"秒"); } @Override public void onFinish() { tv.setText("倒计时完成了"); } }.start(); } }
效果图:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。