当前位置:   article > 正文

Android CountDownTimer 实现倒计时任务

android countdowntimer

Android应用开发中,想要在多少秒之后执行一个操作是非常常见的场景。使用线程或者计时器来执行固然是一个好方法,但是如果我们想实现倒计时并且还可以每秒钟更新一下UI,或许使用Google自带的CountDownTimer是一个更好更简单的选择。

代码如下:

  1. private CountDownTimer timer;
  2. //定义倒计时的时间,例如30秒
  3. private int waittingTimeout = 30;
  4. //定义方法,使用的时候直接调用方法即可开启倒计时
  5. private void countdown() {
  6. if (timer != null) {
  7. timer.cancel();
  8. }
  9. timer = new CountDownTimer(
  10. waittingTimeout * 1000, 1000) {
  11. @Override
  12. public void onTick(long millisUntilFinished) {
  13. //更新主线程的操作,例如更新页面中的文本,剩余x秒之类的
  14. binding.tvLeftWaitTime.setText(String.valueOf((int) millisUntilFinished / 1000));
  15. }
  16. @Override
  17. public void onFinish() {
  18. //倒计时完成之后的操作,例如关闭弹窗
  19. dismiss();
  20. }
  21. };
  22. timer.start();
  23. }
  24. //activity中可以放在onDestroy中销毁
  25. @Override
  26. protected void onDestroy() {
  27. if (timer != null) {
  28. timer.cancel();
  29. }
  30. super.onDestroy();
  31. }
  32. //如果是弹框中调用,可以放在dismiss中销毁
  33. @Override
  34. public void setOnDismissListener(OnDismissListener onDismissListener) {
  35. super.setOnDismissListener(onDismissListener);
  36. if (null != timer) {
  37. timer.cancel();
  38. }
  39. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/808979?site
推荐阅读
相关标签
  

闽ICP备14008679号