How to stop CountDownTimer in android

Taha picture Taha · Oct 23, 2016 · Viewed 42.7k times · Source

How to stop this timer , any idea ?

I want to reset timer in every query but it continues. Every new query it adds new timer. How to solve this?

 new CountDownTimer(zaman, 1000) {                     //geriye sayma

            public void onTick(long millisUntilFinished) {

                NumberFormat f = new DecimalFormat("00");
                long hour = (millisUntilFinished / 3600000) % 24;
                long min = (millisUntilFinished / 60000) % 60;
                long sec = (millisUntilFinished / 1000) % 60;

                cMeter.setText(f.format(hour) + ":" + f.format(min) + ":" + f.format(sec));
            }

            public void onFinish() {
                cMeter.setText("00:00:00");
            }
        }.start();

Answer

Amir_P picture Amir_P · Oct 23, 2016

You can assign it to a variable and then call cancel() on the variable

CountDownTimer yourCountDownTimer = new CountDownTimer(zaman, 1000) {                    
    public void onTick(long millisUntilFinished) {}

    public void onFinish() {}

    }.start();

yourCountDownTimer.cancel();

or you can call cancel() inside of your counter scope

new CountDownTimer(zaman, 1000) {                    
    public void onTick(long millisUntilFinished) {
        cancel();
    }

    public void onFinish() {}

    }.start();

Read more: https://developer.android.com/reference/android/os/CountDownTimer.html