Android handler实现倒计时
时间: 2023-11-11 14:04:05 浏览: 84
可以通过 Android 的 `Handler` 和 `Runnable` 来实现倒计时功能。
首先,在你的 Activity 中定义一个 `Handler` 类型的变量和一个整型变量 `countDownTime`,用于记录倒计时的剩余时间:
```java
private Handler mHandler = new Handler();
private int countDownTime = 60; // 倒计时60秒
```
接下来,在 `onCreate()` 方法中,启动一个 `Runnable` 对象,用于每隔一秒刷新倒计时的剩余时间,并且在剩余时间为 0 时停止倒计时:
```java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView textView = findViewById(R.id.text);
mHandler.post(new Runnable() {
@Override
public void run() {
countDownTime--;
textView.setText(String.valueOf(countDownTime));
if (countDownTime > 0) {
mHandler.postDelayed(this, 1000); // 每隔一秒刷新剩余时间
} else {
// 倒计时结束
}
}
});
}
```
在上面的代码中,我们使用 `postDelayed()` 方法来延迟一秒钟再次执行 `Runnable` 对象,以达到每隔一秒钟刷新倒计时的目的。
当倒计时结束时,你可以在 `else` 分支中添加相应的逻辑,如弹出提示框、自动跳转等等。
阅读全文