Android CountDownTimer实现简单倒计时

0 下载量 167 浏览量 更新于2024-09-01 收藏 52KB PDF 举报
"使用CountDownTimer类轻松实现倒计时功能" 在Android开发中,`CountDownTimer` 是一个非常实用的内置类,它允许开发者轻松地实现倒计时功能,无需手动处理线程和消息队列。这个类将复杂的定时器逻辑进行了封装,简化了倒计时操作。 `CountDownTimer` 的主要功能是在指定的总时间(以毫秒为单位)内进行倒计时,并在每个预设的时间间隔(也以毫秒为单位)触发回调方法。这使得开发者可以在倒计时过程中执行特定的操作,如更新UI或者执行某些任务。 在示例代码中,可以看到如何使用 `CountDownTimer`: 首先,定义一个自定义的 `CountDownTimer` 子类,例如 `MyCountDownTimer`,继承自 `CountDownTimer` 类。这个子类通常需要重写两个方法:`onTick(long millisUntilFinished)` 和 `onFinish()`。 1. `onTick(long millisUntilFinished)`:每当倒计时剩余时间到达预设的间隔时,这个方法会被调用。参数 `millisUntilFinished` 表示剩余的毫秒数。在这个方法里,你可以根据需要更新UI或者其他操作。 2. `onFinish()`:当倒计时完成,即时间为0时,此方法会被调用。可以在此处执行倒计时结束后的操作,比如显示提示信息。 示例代码创建了一个 `MyCountDownTimer` 实例,设置了30秒(30000毫秒)的总时长和1秒(1000毫秒)的间隔时间。然后通过 `start()` 方法启动倒计时,通过 `cancel()` 方法可以停止倒计时。 ```java 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(); mc.cancel(); } } ``` 在这个例子中,`MainActivity` 的 `onCreate()` 方法中初始化了 `CountDownTimer` 并开始计时。`onCancel()` 方法用于响应用户点击事件,当用户点击视图时,倒计时会通过 `cancel()` 方法被取消,并显示一个短暂的 Toast 提示。 `CountDownTimer` 类在Android开发中提供了一种简单、易用的倒计时解决方案,避免了手动处理线程和消息传递的复杂性,是实现倒计时场景的首选工具。