2015-12-25 2 views
-2

У меня есть CountDownTimer. Я хочу, чтобы он остановился, когда я даю ответ. Если я нажму кнопку (ant1 или ant2), он откроет новый XML без остановки таймера. Это мой код:Отменить автоматический Таймер обратного отсчета

public class Vraag1 extends Activity { 
    TextView text1; 

    private static final String FORMAT = "%02d:%02d:%02d"; 

    int seconds , minutes; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.vraag1); 

     text1=(TextView)findViewById(R.id.textView1); 

     CountDownTimer countDownTimer = new CountDownTimer(30000, 1000) { 

      public void onTick(long millisUntilFinished) { 

       text1.setText(""+String.format(FORMAT, 
         TimeUnit.MILLISECONDS.toHours(millisUntilFinished), 
         TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(
           TimeUnit.MILLISECONDS.toHours(millisUntilFinished)), 
         TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(
           TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)))); 
      } 

      public void onFinish() { 
       Intent c = new Intent(Vraag1.this, MainActivity.class); 
       startActivity(c); 
      } 
     }.start(); 

    } 

    @Override 
    public void onBackPressed() { 

     Intent a = new Intent(Vraag1.this, MainActivity.class); 
     startActivity(a); 
    } 

    public void onButtonClick(View v) { 

     if (v.getId() == R.id.Ant1) { 
      Intent i = new Intent(Vraag1.this, Vraag1Fout.class); 
      startActivity(i); 
     } 
     if (v.getId() == R.id.Ant2) { 
      Intent i = new Intent(Vraag1.this, Vraag1Fout.class); 
      startActivity(i); 
     } 
     if (v.getId() == R.id.Ant3) { 
      Intent i = new Intent(Vraag1.this, Vraag1Goed.class); 
      startActivity(i); 
     } 
     if (v.getId() == R.id.Ant4) { 
      Intent i = new Intent(Vraag1.this, Vraag1Fout.class); 
      startActivity(i); 
     } 

    } 
} 

ответ

0

У меня есть CountDownTimer. Я хочу, чтобы это прекратилось, когда я даю ответ

, чтобы остановить его, вы должны вызвать cancel(); на экземпляре CountDownTimer, при нажатии на кнопку. Если вы держите

CountDownTimer countDownTimer 

в качестве члена класса, и назначить правильно countDownTimer, в вашем OnCreate, то вы можете использовать его для вызова cancel() когда onClick вызывается. Это отменит CountDownTimer

+0

Можете ли вы привести мне пример. им просто новичок. –