Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 倒计时暂停并取消_Android_Eclipse_Countdowntimer - Fatal编程技术网

Android 倒计时暂停并取消

Android 倒计时暂停并取消,android,eclipse,countdowntimer,Android,Eclipse,Countdowntimer,我的视图类的构造函数中有一个倒计时计时器。这似乎行得通。但是我不能做.cancel()。有人能帮我查一下密码吗?这是我的密码 private CountDownTimer countTimer; public GameView(Context context) { super(context); new CountDownTimer(20000, 1000) { public void onTick(long millisUntilFini

我的视图类的构造函数中有一个倒计时计时器。这似乎行得通。但是我不能做
.cancel()
。有人能帮我查一下密码吗?这是我的密码

private CountDownTimer countTimer;
public GameView(Context context) {
    super(context);
            new CountDownTimer(20000, 1000) {
            public void onTick(long millisUntilFinished) {
                countDowntimer = String.valueOf(millisUntilFinished / 1000);
                invalidate();
            }
            public void onFinish() {
                timer.setColor(Color.TRANSPARENT);
                if (Game.lifeCount <= 1) {
                    countDowntimer = String.valueOf("TIME'S UP!");
                    if (countmaze == 0) {
                        timesUpDialog1();
                    } else if (countmaze == 1) {
                        timesUpDialog2();
                    } else if (countmaze == 2) {
                        timesUpDialog3();
                    } else if (countmaze == 3)
                        timesUpDialog4();
                } else {
                    showGameoverDialog();
                }
            }
        }.start();

但是每当我遇到这种情况时,countTimer.cancel()就不起作用。为什么?请帮帮我。谢谢顺便说一句我还想在倒计时中使用
暂停方法
。有没有一个简单的方法可以做到这一点?非常感谢

您忘记将倒计时计时器放入全局变量中:

private CountDownTimer countTimer;
public GameView(Context context) {
    super(context);
            countTimer = new CountDownTimer(20000, 1000) { //<- in here bro
            public void onTick(long millisUntilFinished) {
                countDowntimer = String.valueOf(millisUntilFinished / 1000);
                invalidate();
            }
            public void onFinish() {
                timer.setColor(Color.TRANSPARENT);
                if (Game.lifeCount <= 1) {
                    countDowntimer = String.valueOf("TIME'S UP!");
                    if (countmaze == 0) {
                        timesUpDialog1();
                    } else if (countmaze == 1) {
                        timesUpDialog2();
                    } else if (countmaze == 2) {
                        timesUpDialog3();
                    } else if (countmaze == 3)
                        timesUpDialog4();
                } else {
                    showGameoverDialog();
                }
            }
        }.start();
private倒计时;
公共游戏视图(上下文){
超级(上下文);

countTimer=newcountdowntimer(20000,1000){//wow谢谢先生。先生,您尝试过在CountDownTimer上使用抽象类吗?
private CountDownTimer countTimer;
public GameView(Context context) {
    super(context);
            countTimer = new CountDownTimer(20000, 1000) { //<- in here bro
            public void onTick(long millisUntilFinished) {
                countDowntimer = String.valueOf(millisUntilFinished / 1000);
                invalidate();
            }
            public void onFinish() {
                timer.setColor(Color.TRANSPARENT);
                if (Game.lifeCount <= 1) {
                    countDowntimer = String.valueOf("TIME'S UP!");
                    if (countmaze == 0) {
                        timesUpDialog1();
                    } else if (countmaze == 1) {
                        timesUpDialog2();
                    } else if (countmaze == 2) {
                        timesUpDialog3();
                    } else if (countmaze == 3)
                        timesUpDialog4();
                } else {
                    showGameoverDialog();
                }
            }
        }.start();