Не работает корректно таймер на клик кнопки

Метод Click:

public void onClick(View view) {
        if(sb)
        {
            button.setText("STOP");
            new Start_Timer(text);
        }
        else
        {
            button.setText("START");
            new Stop_Timer(text);
        }
    }

Метод Start_Timer

public class Start_Timer implements TimerInf {
    private TextView text_timer;

    public Start_Timer(TextView text_timer) {
        MainActivity.sb = false;
        this.text_timer = text_timer;
    }


    @Override
    public void doTimer() {
        MainActivity.timer = new Timer();
        TimerTask timertask = new TimerTask() {
            @Override
            public void run() {
                DataTimers.Getseconds();
                String date = DataTimers.Gethours() + ":" +  DataTimers.Getminutes() + ":" +  DataTimers.Getseconds();
                text_timer.setText(date);
                Log.d("Salame",date);
            }
        };

        MainActivity.timer.schedule(timertask, 1000);
    }
}


По идее при создании таймера, он выносится в отдельный поток, и там работает.

Я делаю запуск таймера на нажатие кнопки, и далее таймер выдает мне 2 сеунды, и останавливается


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

Автор решения: Arty Morris

Вы указали только задержку. А период не указали

void schedule (TimerTask task, long delay) - задание task планируется к выполнению через период в миллисекундах, переданный в параметре delay

void schedule (TimerTask task, long delay, long period) - задание task планируется к выполнению через период в миллисекундах, переданный в параметре delay. Затем задание повторяется повторно периодически - каждые period миллисекунд
→ Ссылка