Timer does not stop in android

android, timer

Solution

`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`

Problem

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 } }); ```

Original source