当前位置: 首页 > 知识库问答 >
问题:

如何在android中停止倒计时

林弘壮
2023-03-14

怎么停止这个计时器,知道吗?

我想重置计时器在每个查询,但它继续。每个新的查询都会添加新的计时器。这个怎么解决?

 new CountDownTimer(zaman, 1000) {                     //geriye sayma

            public void onTick(long millisUntilFinished) {

                NumberFormat f = new DecimalFormat("00");
                long hour = (millisUntilFinished / 3600000) % 24;
                long min = (millisUntilFinished / 60000) % 60;
                long sec = (millisUntilFinished / 1000) % 60;

                cMeter.setText(f.format(hour) + ":" + f.format(min) + ":" + f.format(sec));
            }

            public void onFinish() {
                cMeter.setText("00:00:00");
            }
        }.start();

共有3个答案

韦星文
2023-03-14

静态倒数计时器倒数计时器=null;

    if (countDownTimer != null) {
        countDownTimer.cancel();
    }
    countDownTimer = new CountDownTimer(50000, 1000) {
        public void onTick(long millisUntilFinished) {
            Log.e("seconds remaining : ", "seconds remaining : " + millisUntilFinished / 1000);
        }

        public void onFinish() {
            Log.e("done!", "done!");
        }
    };
    countDownTimer.start();
寇涵容
2023-03-14

您可以调用this.cancel()或简单地取消()中的一个回调方法

华心思
2023-03-14

您可以将其分配给变量,然后对该变量调用取消()

CountDownTimer yourCountDownTimer = new CountDownTimer(zaman, 1000) {                    
    public void onTick(long millisUntilFinished) {}

    public void onFinish() {}

    }.start();

yourCountDownTimer.cancel();

或者您可以在计数器范围内调用cancel()

new CountDownTimer(zaman, 1000) {                    
    public void onTick(long millisUntilFinished) {
        cancel();
    }

    public void onFinish() {}

    }.start();

阅读更多:https://developer.android.com/reference/android/os/CountDownTimer.html

 类似资料:
  • 问题内容: 我已经开发了一个倒数计时器,但不确定单击计时器的文本视图时如何暂停和恢复计时器。单击开始,然后再次单击以暂停并继续,再次单击计时器的文本视图。 这是我的代码: 问题答案: 资料来源:本要点。

  • 我有两个XML EditTexts。在一个EditText中,用户可以将一个数字作为分钟,在另一个EditText中,可以将一个数字作为秒。单击finish按钮后,seconds EditText应开始倒计时,并每秒更新其文本。 此外,我如何保持更新,直到它达到零分钟零秒?

  • 我尝试创建一个自定义的时间流逝时间,一旦我按住音量键,它就会启动计时器,并假设时间必须在我松开键后停止,但我松开键时遇到问题,计时器仍在移动。请告诉我我错过了什么谢谢 公共布尔onKeyDown(int-keyCode,KeyEvent-event){if((keyCode==KeyEvent.keyCode_-VOLUME_-DOWN

  • 我的应用程序中正在运行IntentService。当用户按下“取消”按钮时,我想停止,但onHandleIntent会继续运行,即使在调用onDestroy(IntentService)时也是如此。 在执行过程中,我尝试了StSelfFe(),StutoIn(int)和StestService(意图),但不起作用。 我试图从碎片中停下来 提前感谢

  • 我正在使用ScheduledExecutorService并对其进行初始化(ScheduledExecutorService scheduledThreadPool=Executors.NewScheduledThreadPool(20);)这样我就不会每次都创建新线程。然后,我使用计划“executorService.schedule(new Runnable(),20,timeUnit.sec

  • 我的目标是创建一个简单的计时器程序。它不断更新自己,直到按下停止按钮。然而,我不确定如何停止刻度函数运行,以便定时器在按下停止按钮后保持不变。 这是我目前的代码: 停止函数的可能方法是什么? 任何帮助都将不胜感激!