CountDownTimer倒计时
2015-11-25 13:45
302 查看
CountDownTimer由系统提供
查资料的时候 发现了CountDownTimer这个类之后 果断抛弃了以前的倒计时做法
功能:
30秒倒计时 每次间隔1秒
参数:
mc.start();方法开始
mc.cancel();方法结束
new MyCountDownTimer(30000, 1000); 第一个参数表示 总的时间为30000毫秒,间隔1000毫秒
MyCountDownTimer timer = new MyCountDownTimer(10000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间。意思就是每隔一秒会回调一次方法onTick,然后10秒之后会回调onFinish方法。在onDestory()方法中取消计时器。
查资料的时候 发现了CountDownTimer这个类之后 果断抛弃了以前的倒计时做法
功能:
30秒倒计时 每次间隔1秒
参数:
mc.start();方法开始
mc.cancel();方法结束
new MyCountDownTimer(30000, 1000); 第一个参数表示 总的时间为30000毫秒,间隔1000毫秒
package com.example.daojishi; import android.app.Activity; import android.os.Bundle; import android.os.CountDownTimer; import android.util.Log; import android.view.View; import android.widget.TextView; import android.widget.Toast; /** * * @author baozi * * 倒计时的类 CountDownTimer * */ public class MainActivity extends Activity { private MyCountDownTimer mc; private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.show); mc = new MyCountDownTimer(30000, 1000); mc.start(); } public void oncancel(View view) { Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_LONG).show();// toast有显示时间延迟 mc.cancel(); } public void restart(View view) { Toast.makeText(MainActivity.this, "重新开始", Toast.LENGTH_LONG).show();// toast有显示时间延迟 mc.start(); } /** * 继承 CountDownTimer 防范 * * 重写 父类的方法 onTick() 、 onFinish() */ class MyCountDownTimer extends CountDownTimer { /** * * @param millisInFuture * 表示以毫秒为单位 倒计时的总数 * * 例如 millisInFuture=1000 表示1秒 * * @param countDownInterval * 表示 间隔 多少微秒 调用一次 onTick 方法 * * 例如: countDownInterval =1000 ; 表示每1000毫秒调用一次onTick() * */ public MyCountDownTimer(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } @Override public void onFinish() { tv.setText("done"); } @Override protected void onDestroy() { super.onDestroy(); mc.cancel(); } @Override public void onTick(long millisUntilFinished) { Date date = new Date(millisUntilFinished); SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss"); String str = sdf.format(date); System.out.println(str); tv.setText("倒计时(" + millisUntilFinished / 1000 + ")..."); } } }
MyCountDownTimer timer = new MyCountDownTimer(10000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间。意思就是每隔一秒会回调一次方法onTick,然后10秒之后会回调onFinish方法。在onDestory()方法中取消计时器。
相关文章推荐
- sizeof与offsetof有关的结构体详解 http://blog.csdn.net/callinglove/article/details/46534883
- Jquery插件
- c++11 匿名函数支持
- 基于用户的协同过滤和皮尔逊相关系数
- javaScript去除空格或换行
- 关于mysql函数GROUP_CONCAT 需要注意的地方
- 【LeetCode】150 Evaluate Reverse Polish Notation 小侃小解
- 安装cocoapods的终端命令
- css 背景属性background的使用方法
- 自动摘要算法
- 浏览器中event.srcElement和event.target的兼容性问题
- dev -gridview隐藏子表标题
- ios初体验,终端命令
- App Store IDFA被拒检查办法
- 【C基础】#if、if、#ifdef、#if defined之间的区别
- 【Leetcode】之Divide Two Integers
- 开始。
- eclipse编码格式设置教程、如何为eclipse设置编码格式?
- 实现一个函数,可以左旋字符串中的k个字符
- linux查看 php环境安装路径