暂停/恢复计时器无法正常工作

时间:2018-08-26 19:14:09

标签: java android countdowntimer

这个问题继续我在这里的上一个问题... []

现在...

我有以下两个类似的功能!

但是,当我暂停[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();   

0 个答案:

没有答案