簡體   English   中英

CountDownTimer 取消()不工作

[英]CountDownTimer cancel() not Working

我是 Android 開發的新手,正在嘗試制作小游戲。 CountDownTimer.cancel()對我不起作用。

任何的想法?

感謝您的回答!

CountDownTimer cdt = new CountDownTimer(120000, 1000) {

            public void onTick(long millisUntilFinished) {
                maxTime = (int) (millisUntilFinished / 1000);
                timer.setText(String.valueOf(maxTime));
            }

            public void onFinish() {

            }
        };

        if (startTimer == true) {
            cdt.start();
        } else {
            cdt.cancel();
        }

我必須在這里做一個假設,因為代碼沒有顯示太多! 顯然,您在onCreate中使用countDownTimer作為內部類,以便在startTimer == true時觸發計時器,並且無論如何都會創建對象! 我想創建一個CountDownTimer的全局實例會更好。

並以這種方式編寫您的代碼:

if(startTimer == true) {
    cdt = new CountDownTimer(120000, 1000) {
        public void onTick(long millisUntilFinished) {
            maxTime = (int) (millisUntilFinished / 1000);
            timer.setText(String.valueOf(maxTime));
        }

        public void onFinish() {

        }
    }.start(); //start the countdowntimer
}
else{
    cdt.cancel();
}
        Boolean Myboolean = true;
        CountDownTimer MyCountDownTimer = new CountDownTimer(10000, 1000)
        {
            @Override
            public void onFinish()
            {
            }

            @Override
            public void onTick(long millisUntilFinished)
            {
                Log.i("onTick" , String.valueOf((millisUntilFinished / 1000) % 60));
                if(!Myboolean ) { cancel(); }
            }

        }.start();

我遇到了這個問題,CountDownTimer 不會用 (MyCountDownTimer.cancel();) 取消,最好的方法是使用 Boolean ,將 Boolean 設置為 false 以取消 CountDownTimer。 在任何你想要的地方(Myboolean =false;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM