计时器不会在android中停止

前端之家收集整理的这篇文章主要介绍了计时器不会在android中停止前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 android中创建了一个应用程序并使用了这样的计时器..
  1. try {
  2. CountDownTimer start1 = new CountDownTimer(20000,1000) {
  3.  
  4. public void onTick(long millisUntilFinished) {
  5. TextView timeShow = (TextView)findViewById(R.id.showTime);
  6. timeShow.setText(" "+" 00:" +millisUntilFinished / 1000);
  7. }

但我的问题是我不知道如何停止计时器.任何的想法?

我已经尝试过:

  1. quitApplication.setOnClickListener(new OnClickListener() {
  2. public void onClick(View v) {
  3. start1.cancel();
  4. Intent i = new Intent(v.getContext(),startGame.class);
  5. startActivity(i);
  6. // TODO Auto-generated method stub
  7. }
  8. });

解决方法

start1.cancel()是调用取消计时器的正确方法.

你没有提供有关你得到的错误或为什么它不适合你的任何细节,但我假设你的程序没有编译,因为你的变量start1是一个局部变量.它可能是您的try块所在的任何方法的本地.这意味着您的OnClickListener构造不知道start1是什么.

解决此问题,只需将start1声明为类变量(在所有方法之外但在类中):

  1. public class someClass {
  2.  
  3. CountDownTimer start1;
  4. // blah some code
  5. public void someMethod {
  6. try {
  7. start1 = new CountDownTimer() { //etc

这样做将允许其他方法识别start1并与之交互

猜你在找的Android相关文章