I made an application in android and used timer like this..
try {
CountDownTimer start1 = new CountDownTimer(20000, 1000) {
public void onTick(long millisUntilFinished) {
TextView timeShow = (TextView)findViewById(R.id.showTime);
timeShow.setText(" "+" 00:" +millisUntilFinished / 1000);
}
But my problem is i don't know how to stop timer. Any idea?
I already tried:
quitApplication.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
start1.cancel();
Intent i = new Intent(v.getContext(), startGame.class);
startActivity(i);
// TODO Auto-generated method stub
}
});
cancel method Null safety Cancels the timer. Once a Timer has been canceled, the callback function will not be called by the timer. Calling cancel more than once on a Timer is allowed, and will have no further effect.
delay - delay in milliseconds before task is to be executed. period - time in milliseconds between successive task executions. (Your IDE should also show it to you automatically)
start1.cancel()
is the correct method to call to cancel the timer.
You did not provide any details about the error you got or why it didn't work for you, but I am assuming your program didn't compile because your variable start1
is a local variable. It is probably local to whatever method your try
block is in. This means your OnClickListener
construction has no idea what start1
is.
To fix this simply declare start1
as a class variable (outside of all methods but within the class):
public class someClass {
CountDownTimer start1;
// blah some code
public void someMethod {
try {
start1 = new CountDownTimer() { //etc
Doing so will allow other methods to recognize and interact with start1
I know this is a year old but for future readers you just need to call the timer as a final.
like so
final CountDownTimer start1 = new CountDownTimer(20000, 1000) {}
that should work
call start1.cancel() when you want to stop the timer
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With