Мой Android обратный отсчет запускается только onFinish (), если я передаю countDownTime в качестве параметра. - PullRequest
0 голосов
/ 09 июня 2018

мой класс CountdownTimer

private class AutoStartCountDownTimer extends CountDownTimer {

    public AutoStartCountDownTimer(long millisUntilFinished, long countDownInterval) {
        super(millisUntilFinished, countDownInterval);
    }

    @Override
    public void onFinish() {
        log("timer finish..");
    }

    @Override
    public void onTick(long millisUntilFinished) {
        log("some task");
    }

}

Этот класс, который я вызываю из метода onCreate () действия

new AutoStartCountDownTimer(remainingTime, 1000).start();

Этот вызов напрямуювыполняет onFinish () моего класса таймера

Но теперь, если вызвать тот же класс следующим образом, он просто работает нормально в течение 30 секунд.

new AutoStartCountDownTimer(30000, 1000).start();

этодействительно странно, и я также нигде не получаю никакой систематической справочной формы.

моя целевая версия SDK - 19

1 Ответ

0 голосов
/ 21 июня 2018

Попробуйте поместить методы onTick и onFinish внутри счетчика.Это сработало для меня.Я использую отсчет времени в моем недавнем приложении.Вот мой код, может быть, это поможет

aCounter = new CountDownTimer(total_duration, duration) {

        public void onTick(long millisUntilFinished) {
            log("some task");
        }
        public void onFinish() {
            log("timer finish..");
        }
    };
    aCounter.start();
...