【发布时间】:2021-03-10 02:51:28
【问题描述】:
您好,我正在制作简单的倒数计时器,我想在暂停后恢复它。对我来说非常重要的是,我不会将我的倒数计时器放到 public void 方法中。
mTextViewCountDown = findViewById(R.id.text_view_countdown);
mButtonStartPause = findViewById(R.id.button_start_pause);
mButtonStartPause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mTimerRunning) {
pauseTimer();
} else {
startTimer();
}
}
});
updateCountDownText();
mCountDownTimer = new CountDownTimer(mTimeLeftInMillis, 1000) {
@Override
public void onTick(long millisUntilFinished) {
mTimeLeftInMillis = millisUntilFinished;
updateCountDownText();
}
@Override
public void onFinish() {
mTimerRunning = false;
}
}.start();
}
private void startTimer() {
mTimerRunning = true;
mCountDownTimer.start();
}
private void pauseTimer() {
mCountDownTimer.cancel();
mTimerRunning = false;
mButtonStartPause.setText("Start");
}
private void updateCountDownText() {
int minutes = (int) (mTimeLeftInMillis / 1000) / 60;
int seconds = (int) (mTimeLeftInMillis / 1000) % 60;
String timeLeftFormatted = String.format(Locale.getDefault(), "%02d:%02d", minutes, seconds);
mTextViewCountDown.setText(timeLeftFormatted);
}
【问题讨论】:
-
为什么不使用公共 void 方法很重要?无论如何,我都会使用公共布尔方法重新启动。
-
因为我想做另一个倒计时,其中有这么多变量,这是不可能的。我试过了
-
我不明白,但这不是必需的。我确实觉得有趣的是您仍然对基本计时器有疑问,但您知道更复杂的事情是不可能。我希望我能帮助你,但我不愿意解决不可能的事情。
-
因为我是 android studio 的新手,我正在制作运动倒数计时器。我的代码有 200 行,我总是做简单的事情,当它工作时,我把它放在我的主要倒计时
标签: java android countdowntimer