Timer和CountDownTimer的使用
2017-01-04 22:44
267 查看
下面封装的2个方法都是用于倒计时,之前是用Timer封装的,后来才发现Android已经封装好一个类:CountDownTimer。
Timer定时器的使用
CountDownTimer的使用
Timer定时器的使用
/** * 倒数计时(自己封装的) * @param time 倒数的时间(s) */ private void countDown(final int time) { //定时器 final Timer timer = new Timer(); //定时器线程 TimerTask timerTask=new TimerTask() { @Override public void run() { countDownFlag++; if (countDownFlag >= time) { timer.cancel();//取消定时器 countDownFlag=0; //时间到后跳转界面 Intent intent = new Intent(InitActivity.this,MainActivity.class); startActivity(intent); finish(); }else{ Message message = new Message(); message.what=COUNT_DOWN; message.obj=(time-countDownFlag)+"秒后跳转"; handler.sendMessage(message); } } }; //启动定时器,第二个参数代表几时开始,第三个参数代表每隔多少毫秒开始重复运行 timer.schedule(timerTask,0,1000); }
CountDownTimer的使用
/** * 倒计时(原本就封装好的) * @param time 倒数的总时间(ms) */ private void autoCountDown(long time) { //第一个参数代表总时间,第二个参数代表间隔时间,间隔时间到自动调用onTick方法,时间到自动调用onFinish方法 CountDownTimer countDownTimer=new CountDownTimer(time,1000) { @Override public void onTick(long millisUntilFinished) { String text=(millisUntilFinished/1000)+"秒后跳转"; btn_init_text.setText(text); } @Override public void onFinish() { Intent intent = new Intent(InitActivity.this,MainActivity.class); startActivity(intent); finish(); } }; countDownTimer.start(); }
相关文章推荐
- Android中的定时器Timer、AlarmManager、CountDownTimer的使用
- Android中的定时器Timer、AlarmManager、CountDownTimer的使用
- Android中三种计时器Timer、CountDownTimer、handler.postDelayed的使用
- Android中三种计时器Timer、CountDownTimer、handler.postDelayed的使用
- 使用Timer和TimerTask实现欢迎界面
- 关于Timer使用,为什么程序会死掉
- J2ME Timer 使用指南
- J2ME Timer 使用指南[转贴]
- MS Windows Timer的限制以及如何使用更高分辨率的计时手段。
- 在 ASP.NET 中使用计时器(Timer)的整理
- 如何正确的使用Timer的schedule()方法?
- 还有更好的写法吗(使用Timer来判断鼠标在控件上停留的时间)
- 在 ASP.NET 中使用计时器(Timer)转
- 正确的选择使用.NET中的三个Timer
- java.util.Timer的使用实例
- Timer使用实例
- Spring Framework 开发参考手册 之十八 使用Quartz或Timer完成时序调度工作
- 使用java.util.Timer
- asp.net 使用timer
- 在 ASP.NET 中使用计时器(Timer)