我有一个简单的倒数计时器应用程序。我可以启动和暂停计时器以及重置时间,但暂停后我无法恢复。我认为switch case比当前使用的if / else语句效果更好。
public void timerEnabler (View v) {
if (!activeCounter) {
activeCounter = true;
timeSet.setEnabled(false);
stopStartButton.setText("Pause");
rotateAnimation();
countTimer = new CountDownTimer(timeSet.getProgress() * 1000 + 100, 1000) {
@Override
public void onTick(long millisUntilFinished) {
updateTimer((int) millisUntilFinished / 1000);
timeRemain = millisUntilFinished;
}
@Override
public void onFinish() {
resetTimer();
MediaPlayer mplayer = MediaPlayer.create(getApplicationContext(), R.raw.alarm_sound);
mplayer.start();
backgroundImage.clearAnimation();
}
}.start();
} else (activeCounter) { //pause counter
countTimer.cancel();
backgroundImage.clearAnimation();
stopStartButton.setText("Resume");
}
}
我希望每次用户点击暂停/恢复时,计时器都会继续并暂停。这是通过相同的按钮完成的。第二个按钮与计时器的重置有关。使用搜索栏timeSet
选择所需的时间。
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
我总是将此类用于CountDownTimer。来源bverc/CountDownTimer.java
public function getTokenByEmail($u_code){
$stmt = $this->con->prepare("SELECT `token` FROM `user_reg` WHERE 'u_code'= ?");
$stmt->bind_param("s",$u_code);
$stmt->execute();
$result = $stmt->get_result()->fetch_assoc();
return array($result['token']);
}