Search code examples
androidandroid-studiocountdowntimer

How to stop CountDownTimer in android


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();

Solution

  • 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