Java Таймер обратного отсчета для остановки выполнения кода - PullRequest
0 голосов
/ 10 марта 2020

Я делаю проект на студии Android, который показывает экран в течение 15 секунд, а затем переключается на новый вид деятельности. TimerTask не дожидается, пока он завершит обратный отсчет sh перед переключением, и CountdownLatch несколько раз ломал мою программу. Многие другие темы рекомендуют использовать thread.sleep, но мне нужно, чтобы мой таймер обновлялся раз в секунду, чтобы пользователь мог видеть. Как мне go об этом?

Ниже приведен код, который я использовал, но он почти сразу пропускает таймер.

timer = new Timer();
task = new TimerTask() {
    int startingTime = 15;

    @Override
    public void run() {
        startingTime--;
        timerTV.setText(Integer.toString(startingTime));
    }
};

1 Ответ

0 голосов
/ 10 марта 2020
    timer = new Timer();
    task = new TimerTask() {
        int startingTime = 15;

        @Override
        public void run() {
            startingTime--;
            if(startingTime==0)
                this.cancel();
            timerTV.setText(Integer.toString(startingTime));
        }
    };
...