我有一个自动启动的 Android 倒计时器。我需要暂停并恢复它。我见过其他解决方案,但它们不起作用。我的代码是:
class Timer extends CountDownTimer
{
public Timer(long millisInFuture, long countDownInterval)
{
super(millisInFuture, countDownInterval);
timerTimedOut = false;
}
@Override
public void onFinish() {
if(timerTimedOut){
doSTH();
} else {
doSTHElse();
}
this.start();
}
@Override
public void onTick(long millisUntilFinished)
{
timerShow.setText(Long.toString(millisUntilFinished / 1000));
}
public void stop(){
timerTimedOut = true;
this.cancel();
onFinish();
}
}
我应该怎么做才能暂停和恢复?
最佳答案
我一直在处理这个问题,在尝试了很多方法之后,我找到了这个解决方案。在这里您可以找到 Android CountDownTimer 类的一个很好的替代方案: https://gist.github.com/bverc/1492672
您只需创建一个名为 CountDownTimer2 的新类,然后粘贴该代码。然后,使用它代替普通的 CountDownTimer 类,例如:
CountDownTimer2 cdt = new CountDownTimer2(30000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
//Whatever you want to do onTick
}
@Override
public void onFinish() {
Log.i(TAG, "Timer finished");
}
};
cdt.start();
}
然后你只需要通过
cdt.pause();
或
cdt.resume();
希望有帮助。
关于android - 暂停和恢复 Android 倒计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35951457/