这个问题继续我在这里的上一个问题... []。
现在...
我有以下两个类似的功能!
但是,当我暂停[docdttimer]并再次恢复时,它从先前的值开始((当我在[secuntilendTIME = fitotaltime; ]从头开始。) 那是错误的,我不知道为什么!
但是,当我在[snzcdttimer]上执行相同的操作时,一切正常。并在代码末尾用初始值替换。
此外,[playring(“ T”);或playring(“ L”);]有时会播放,有时效果不好。 但是只要不使用暂停,一切都会正常。
为什么,讨好……。
docdttimer =new CountDownTimer(secuntilendTIME *1000,1000) {
@Override
public void onTick( long millisUntilFinished) {
secuntilendTIME = (millisUntilFinished/1000) ;
varprgbartime.setProgress((int) secuntilendTIME);
playring("T");
}
@Override
public void onFinish() {
varprgbartime.setProgress(0);
playring("L");
secuntilendTIME=fitotaltime;
secuntilendSNZ=fitotalsnozee;
prgbarinitsnz();
// Call Relax Timer Here
snztimer();
}
}.start();
和
void snztimer(){
snzcdttimer= new CountDownTimer(secuntilendSNZ*1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
secuntilendSNZ = (millisUntilFinished/1000);
varprgbarsnz.setProgress((int) secuntilendSNZ);
playring("T");
}
@Override
public void onFinish() {
varprgbarsnz.setProgress(0);
playring("L");
secuntilendTIME=fitotaltime;
secuntilendSNZ=fitotalsnozee;
prgbarinittime();
checklast();
}
}.start();
}
我使用下面的代码暂停/恢复计时器...
snzcdttimer.cancel();
docdttimer.start();