注意点

  1. CountDownTimer单位是毫秒。
  2. 判断时注意把毫秒转成秒,直接对比毫秒会有问题。
  3. start()开始后,调用cancel()再start(),不是暂停后继续而是会从开始倒计时。

示例代码

以一个导计时结束弹出提示框进行关机的例子,
CountDownPowerOff.java

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.CountDownTimer;
import android.util.Log;public class CountDownPowerOff extends CountDownTimer {static private final long SHOW_POWER_OFF_SECONDS = 10L;AlertDialog alertDialog;Context context;public CountDownPowerOff(long millisInFuture, Context context) {super(millisInFuture, 1000L);this.context = context;}@Overridepublic void onTick(long millisUntilFinished) {long secondsUntil = millisUntilFinished / 1000L;Log.d("", "倒计时关机:" + secondsUntil);// 注意这里是把毫秒除以1000后得到秒后再比较,因为millisUntilFinished大部分无法整除1000, 比如值为10071if (secondsUntil == SHOW_POWER_OFF_SECONDS) {if (alertDialog == null) {alertDialog = new AlertDialog.Builder(context).setTitle("倒计时关机").setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {cancel();Log.d("", "取消倒计时关机");}}).show();}}if (alertDialog != null) {if (!alertDialog.isShowing()) {alertDialog.show();}alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE).setText(secondsUntil + "秒后关机, 点击取消");}}@Overridepublic void onFinish() {if (alertDialog != null) {cancel();alertDialog.cancel();// shutDown();}}}
// 这里把秒转成毫秒
countDownPowerOff = new CountDownPowerOff(15L * 1000L, this);
countDownPowerOff.start();

作者:帅得不敢出门

Android CountDownTimer注意事项相关推荐

  1. Android CountDownTimer示例

    In this android countdown timer example, we'll implement a timer object to display the progress in a ...

  2. Android CountDownTimer倒计时器的使用

    编程高手就是一句代码就可以解决垃圾一坨代码才能解决的办法. 倒计时会是一个很好用的东西. 可以看下这个博客 http://blog.csdn.net/freesonhp/article/details ...

  3. android 定时器倒计时,Android CountDownTimer实现定时器和倒计时效果

    本文实例为大家分享了Android实现定时器和倒计时的具体代码,供大家参考,具体内容如下 直接上代码,相信都看得懂. Android已经帮封装好了一个类,只不过很多人不知道而已. 代码: public ...

  4. 基于Android倒计时器,Android CountDownTimer实现倒计时器

    使用介绍 开发中经常会遇到一些和倒计时有关的场景,比如发送验证码的按钮,会在点击发送后,显示倒计时间,倒计时结束后才能够刷新按钮,再次允许点击.为了不阻塞软件的运行,又要实时刷新界面,我们通常会用到 ...

  5. Android CountDownTimer带有动画的倒计时

    转载请标明出处:http://blog.csdn.net/donkor_/article/details/53305130 前言: 今天在项目开发中用到了一个计时器.主要用到的是Android 中有一 ...

  6. android countdowntimer 格式化,Android中使用CountDownTimer封装CountDownUtil,制作一个简易定时器...

    // CountDownUtil import android.os.CountDownTimer; public class CountDownUtil { /** * 倒计时结束的回调接口 */ ...

  7. Android -- Fragment注意事项

    ViewPager+Fragment 让Fragment成为ViewPager的一页时,FragmentManager会一直保存管理创建好了的Fragment,即使当前不是显示的这一页,Fragmen ...

  8. Android Studio在线安装Android SDK注意事项

    由于使用的Android studio自带了sdk23,然而其它版本的sdk并没有安装:这些天由于需要用到低版本的sdk,因而使用Android SDK Manager进行相应的更新.开始的时候老是无 ...

  9. android root注意事项,菜鸟获取手机root权限前不得不看的几点注意事项

    菜鸟获取手机root权限前不得不看的几点注意事项 菜鸟和新手们在刚接触的时候都会觉的安卓手机刷机好复杂等等,其中就有一项ROOT权限,很多机友不知道root是什么意思,不会root,下面见简单的说说常 ...

最新文章

  1. 实时智能决策引擎在蚂蚁金服风险管理中的实践
  2. CF484E Sign on Fence
  3. java采集温湿度水浸_配电室水浸及温湿度监测系统可加强环境保障
  4. 计算机辅助制造与cnc,ComputerAided Manufacturing CNC (计算机辅助制造数控).pdf
  5. Linux字符驱动开发学习总结
  6. 关于DataGridView_DataError事件的问题
  7. gpl可以商用吗_一文看懂开源许可证,能不能商用再也不抓瞎
  8. std::packaged_task() ---C++17 并发编程
  9. java环境变量javac不能成功 win7_配置Java环境
  10. http代码_一行代码就可以实现HTTP文件服务器,他为什么写了150行?
  11. 搜python题_python知识点汇总(可以搜Python题答案的APP)
  12. MAC正确简单安装brew
  13. ecshop php7 mysql_ecshop如何修改并支持PHP7
  14. matlab查表svpwm,SVPWM的MATLAB仿真实现
  15. 工业通讯总线RS485和RS232
  16. matlab模拟滤波器频率响应,怎样求FIR滤波器在任意频率上的频率响应?
  17. python人工智能方向面试准备_关于机器学习面试的经典题目(面试经验和建议)...
  18. date.gettime()返回的是什么?
  19. Cglib入门到使用
  20. 小马哥---山寨仿苹果6s 低配主板T618 9900 915D4Q-F 拆机主板多图

热门文章

  1. vue表格组件插入图片
  2. rust外服组建战队_Rust战队系统
  3. CorelDRAW怎么等分分割图片
  4. 资产、漏洞、威胁、风险和攻击的关系
  5. 微信小程序端富文本输入
  6. 小青蛙掉井c语言,关于青蛙的故事-跳出井底的蛙
  7. 安卓12 将禁止第三方分享 App
  8. 服务器可以挂协议吗,云服务器可以挂快手协议吗
  9. 【机器学习】XGBoost参数说明
  10. 未来5年,取代股票、房产,最好的副业投资方式...