Skip to content Skip to sidebar Skip to footer

How To Loop Countdown Timer Multiple Times

I am having a problem repeating countdown timer multiple times,in my case 12 times. I have made two countdown timers,one for roundtime and one for pause and works great.Problem is

Solution 1:

First off, you want it to loop 12 times. This isn't the issue at hand, however, you'll thank me when it only loops 11 times.

it should be

for(int i=0;i<=12;i++){
            timer.start(); // It goes just ones!
        }

As I do not know the implementation of Counting2, it appears to be getting hung up on the start function there. I do not know if it's overridden or not. If you have a similar onFinish method, this is due to a recursive call back on the original Counting timer. Because of this, it loops with a waiting period in between (It doesn't get a stack overflow 'as quickly' as a result).

Solution 2:

Try busy waiting for the previous timer to finish and then start it again, and it'll do so 12 times.

for(int i=0;i<12;i++){
            while(!previousTimerActive);
            timer.start(); 
            previousTimerActive = true;
        }

And in your Counting2's onFinish() set the indicator previousTimerActive = false;. Now you just need to see what way you want this boolean previousTimerActive to be 'global' (so it can be accessed from both your activity and your class Counting2). You can get it and set it in the SharedPreferences or use a third-party tool like EventBus to send it's value from one to the other.

Post a Comment for "How To Loop Countdown Timer Multiple Times"