android 怎么给toast写倒计时
时间: 2024-05-08 19:20:53 浏览: 8
你可以使用 `CountDownTimer` 类来实现倒计时功能,并在 `onTick()` 方法中更新 Toast 的显示内容。
下面是一个示例代码:
```java
public class MainActivity extends AppCompatActivity {
private TextView mTextView;
private CountDownTimer mCountDownTimer;
private Toast mToast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = findViewById(R.id.text_view);
mCountDownTimer = new CountDownTimer(5000, 1000) { // 倒计时 5 秒,每 1 秒更新一次
@Override
public void onTick(long millisUntilFinished) {
int secondsRemaining = (int) millisUntilFinished / 1000;
mTextView.setText("倒计时:" + secondsRemaining + " 秒");
// 更新 Toast 显示内容
if (mToast == null) {
mToast = Toast.makeText(MainActivity.this, "", Toast.LENGTH_SHORT);
}
mToast.setText("倒计时:" + secondsRemaining + " 秒");
mToast.show();
}
@Override
public void onFinish() {
mTextView.setText("倒计时结束");
mToast.setText("倒计时结束");
mToast.show();
}
};
mCountDownTimer.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
mCountDownTimer.cancel();
}
}
```
在该示例中,我们创建了一个 `CountDownTimer` 对象,设置了倒计时时长为 5 秒,每 1 秒更新一次,在 `onTick()` 方法中更新了 `TextView` 和 `Toast` 的显示内容。当倒计时结束时,在 `onFinish()` 方法中更新了 `TextView` 和 `Toast` 的显示内容。同时,在 `onDestroy()` 方法中取消了倒计时计时器对象,以避免内存泄漏。