Проблема в CountDownTimer

Помогите плиз, вообще не выкупаю, что за проблема, но команда выполняется явно не при наступлении onFinish(). описал проблему в коде:

public void CoolDown(long dur){  // на вход поступает время таймера
    blockButton(true); //нормально выполнятся
    CountDownTimer t = new CountDownTimer(dur, 1000) {
        @Override
        public void onTick(long millisUntilFinished) {

        }

        @Override
        public void onFinish() {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    blockButton(false); //выполняется явно раньше, чем должен пройти таймер
                    if(anyone_die){
                        try {
                            t("Кто-то не выдержал нагрузки....", Toast.LENGTH_SHORT);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }

                }
            });

        }
    };
    t.start();

Спасибо!


Ответы (2 шт):

Автор решения: DrMcSheen
    public void CoolDown(long dur){  // на вход поступает время таймера
        blockButton(true); //нормально выполнятся
        CountDownTimer t = new CountDownTimer(dur, 1000) {
            @Override
            public void onTick(long millisUntilFinished) {

            }

            @Override
            public void onFinish() {
                        blockButton(false); //выполняется явно раньше, чем должен пройти таймер
                        if(anyone_die){
                            try {
                                t("Кто-то не выдержал нагрузки....", Toast.LENGTH_SHORT);
                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }
                        }

            }
        };
        t.start();
→ Ссылка
Автор решения: StudyAndroid

Проблема заключалась в том, что я поверх 1 таймера (с нормальной задержкой) запускал 2 таймер с малой, соответственно срабатывала малая задержка и функция вызывалась по прохождении 2-го таймера.

→ Ссылка