在android studio中编写程序在activity打开时开始10分钟倒计时并显示倒计时倒计时在打开其他activity时仍然进行倒计时结束后名为dazeicisu且初始值为0的整形数据加1 并重新开始倒计时dazeicisu的最大值为3。
首先,在activity中定义一个CountDownTimer对象,并在onCreate()方法中启动倒计时:
public class MainActivity extends AppCompatActivity {
private CountDownTimer countDownTimer;
private TextView countdownTextView;
private int dazeicisu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
countdownTextView = findViewById(R.id.countdownTextView);
// 启动10分钟倒计时
countDownTimer = new CountDownTimer(10 * 60 * 1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
// 更新倒计时显示
long seconds = millisUntilFinished / 1000;
countdownTextView.setText(String.format("%02d:%02d", seconds / 60, seconds % 60));
}
@Override
public void onFinish() {
// 倒计时结束,dazeicisu加1,重新开始倒计时
dazeicisu++;
if (dazeicisu <= 3) {
startCountdown();
}
}
};
startCountdown();
}
private void startCountdown() {
countDownTimer.start();
}
@Override
protected void onPause() {
super.onPause();
// 在activity暂停时取消倒计时
countDownTimer.cancel();
}
@Override
protected void onResume() {
super.onResume();
// 在activity恢复时重新启动倒计时
startCountdown();
}
}
在onPause()方法中取消倒计时,在onResume()方法中重新启动倒计时,以确保倒计时在切换activity时仍然进行。
注意,在倒计时结束时,需要判断dazeicisu是否达到最大值,如果没有,则重新启动倒计时。另外,dazeicisu的初始值应该为0。
原文地址: https://www.cveoy.top/t/topic/bIqx 著作权归作者所有。请勿转载和采集!