Android CountDownTimer注意事项
注意点
- CountDownTimer单位是毫秒。
- 判断时注意把毫秒转成秒,直接对比毫秒会有问题。
- 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注意事项相关推荐
- Android CountDownTimer示例
In this android countdown timer example, we'll implement a timer object to display the progress in a ...
- Android CountDownTimer倒计时器的使用
编程高手就是一句代码就可以解决垃圾一坨代码才能解决的办法. 倒计时会是一个很好用的东西. 可以看下这个博客 http://blog.csdn.net/freesonhp/article/details ...
- android 定时器倒计时,Android CountDownTimer实现定时器和倒计时效果
本文实例为大家分享了Android实现定时器和倒计时的具体代码,供大家参考,具体内容如下 直接上代码,相信都看得懂. Android已经帮封装好了一个类,只不过很多人不知道而已. 代码: public ...
- 基于Android倒计时器,Android CountDownTimer实现倒计时器
使用介绍 开发中经常会遇到一些和倒计时有关的场景,比如发送验证码的按钮,会在点击发送后,显示倒计时间,倒计时结束后才能够刷新按钮,再次允许点击.为了不阻塞软件的运行,又要实时刷新界面,我们通常会用到 ...
- Android CountDownTimer带有动画的倒计时
转载请标明出处:http://blog.csdn.net/donkor_/article/details/53305130 前言: 今天在项目开发中用到了一个计时器.主要用到的是Android 中有一 ...
- android countdowntimer 格式化,Android中使用CountDownTimer封装CountDownUtil,制作一个简易定时器...
// CountDownUtil import android.os.CountDownTimer; public class CountDownUtil { /** * 倒计时结束的回调接口 */ ...
- Android -- Fragment注意事项
ViewPager+Fragment 让Fragment成为ViewPager的一页时,FragmentManager会一直保存管理创建好了的Fragment,即使当前不是显示的这一页,Fragmen ...
- Android Studio在线安装Android SDK注意事项
由于使用的Android studio自带了sdk23,然而其它版本的sdk并没有安装:这些天由于需要用到低版本的sdk,因而使用Android SDK Manager进行相应的更新.开始的时候老是无 ...
- android root注意事项,菜鸟获取手机root权限前不得不看的几点注意事项
菜鸟获取手机root权限前不得不看的几点注意事项 菜鸟和新手们在刚接触的时候都会觉的安卓手机刷机好复杂等等,其中就有一项ROOT权限,很多机友不知道root是什么意思,不会root,下面见简单的说说常 ...
最新文章
- 实时智能决策引擎在蚂蚁金服风险管理中的实践
- CF484E Sign on Fence
- java采集温湿度水浸_配电室水浸及温湿度监测系统可加强环境保障
- 计算机辅助制造与cnc,ComputerAided Manufacturing CNC (计算机辅助制造数控).pdf
- Linux字符驱动开发学习总结
- 关于DataGridView_DataError事件的问题
- gpl可以商用吗_一文看懂开源许可证,能不能商用再也不抓瞎
- std::packaged_task() ---C++17 并发编程
- java环境变量javac不能成功 win7_配置Java环境
- http代码_一行代码就可以实现HTTP文件服务器,他为什么写了150行?
- 搜python题_python知识点汇总(可以搜Python题答案的APP)
- MAC正确简单安装brew
- ecshop php7 mysql_ecshop如何修改并支持PHP7
- matlab查表svpwm,SVPWM的MATLAB仿真实现
- 工业通讯总线RS485和RS232
- matlab模拟滤波器频率响应,怎样求FIR滤波器在任意频率上的频率响应?
- python人工智能方向面试准备_关于机器学习面试的经典题目(面试经验和建议)...
- date.gettime()返回的是什么?
- Cglib入门到使用
- 小马哥---山寨仿苹果6s 低配主板T618 9900 915D4Q-F 拆机主板多图