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

在倒数计时器中启动另一个计时器

巫马修为
2023-03-14

我在回合时间结束时设置暂停时遇到问题。当用户单击按钮时,它开始倒计时计时器,当完成的文本返回到我想要的值时。但是我希望在倒计时(计时器)完成后启动另一个计时器2。现在它同时开始计数。每个计时器都有自己的文本视图。这是代码

    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            long roundtime= Long.parseLong(String.valueOf(msg1))*1000; //User set Time for Round
            long pause= Long.parseLong(String.valueOf(msg2))*1000; //User set Time for Pause
            Counting timer = new Counting(roundtime, 1000); // class CountdownTimer
            Counting2 timer2 = new Counting2(pause, 1000); // class CountdownTimer

            timer.start(); // I want to start with this timer first
            timer2.start(); // And when timer is finished start with this in own textView
        }

在此处输入图像描述

共有2个答案

常永怡
2023-03-14

如果我正确理解了你的问题,你想要这样的东西。一旦您的活动开始,必须在“xx”秒后发生一些事情。然后必须暂停“yy”秒,然后同样的事情必须“xx”秒。右?

您可以使用 Handler.postDelayed()

static boolean pause = false;

onCreate(){
    if (pause) {
        delay = xx + yy;
else
       delay = xx;


Handler.postdelay(new ... , delayTime);

然后很明显,在后期延迟的内部类中使暂停 = 真

淳于健
2023-03-14

使用倒计时计时器。这是你需要的。只需启动一个计时器,然后在该计时器的 onFinish() 方法上,启动新的计时器。像这样:

CountDownTimer timer1 = new CountDownTimer(30000, 1000) {

 public void onTick(long millisUntilFinished) {
//do whatever you need here, this gets called every 1000 milliseconds (the 2nd parameter
of the constructor, the first is total time in ms
 }

 public void onFinish() {
    CountDownTimer timer2 = new CountDownTimer(5000, 1000) {
        //same logic
        };
        timer2.start();
    }
};

timer1.start();

 类似资料:
  • 嗨,我从以下网站获得了倒计时代码: https://codepen.io/SitePoint/pen/MwNPVq, 并已修改为: 我所做的更改是,我检查了分钟和秒是否都为0,然后变量“deadline”应该用新时间更新。倒计时计时器工作正常,但当它达到0:0时,它进入该功能,一切停止。

  • 问题内容: 我创建了一个计时器,该计时器在按下按钮时启动,上面是运行的代码。谁能帮我创建一个计数为30的计时器?现在,当我运行它时,在标签中设置文本“ 30”,但我希望它从0开始并一直计数到30。 问题答案: 每次您的计时器运行时,它都会执行从0到30的循环,因此仅在循环结束时才刷新UI。您需要将i保留为成员,并在每次这样调用该方法时对其进行更新: 当然,一旦达到i = 30,您就应该取消时间,否

  • 问题内容: 我正在创建一个需要ListView的应用程序,其中的元素数量不确定,每个元素都有一个从可变数量开始倒数的计时器。我能够成功地使 其中 之一倒计时,但是我不知道如何在ListView的每个元素中包括一个计时器。 我目前正在使用CountDownTimer(如果从网站复制,请确保将D大写,因为它们有误)。 任何向我指出正确方向的代码或资源都将受到赞赏。 这是我当前的EventAdapter

  • 问题内容: 我已经在JavaScript中看到了许多倒数计时器,并希望在React中使用它。 我借用了我在网上找到的此功能: 然后我自己写了这段代码 当前onclick会将其在屏幕上的时间设置为: 但不会将其减少到,然后等等等 我想我需要使用其他参数再次调用该函数。我该怎么做呢? 编辑:我忘了说,我想要功能,这样我就可以使用秒到分钟和秒 问题答案: 您必须每秒剩余几秒钟(每次调用间隔)。这是一个例

  • 我有一个mixin,它以这种格式返回剩余时间。 在组件中,我打电话给混音器来得到时间 在我的模板中,我称它为,它返回类似的值,但我想将这个值显示为倒计时。所以当它加载到页面上时,开始倒计时1秒。 我试图使用一个观察者,但它不起作用:

  • 首先,我使用Jalali/波斯日期和倒计时jQuery插件对我不起作用。对于ex,插件必须输入公历日期,如2017/5/2,但波斯/贾拉利日期是1396/2/17。 我有多个datetime,指定了天、小时、分钟和秒。例: 3天13小时4分25秒 23天2小时41分3秒... 我有几天、几小时、几分钟和几秒时间, 我想在一页上为他们的日期倒计时(他们的日期是白天的) 当页面中只有一个日期时,我使用

  • 我正在尝试在两个日期之间创建倒计时,但时间过了一段时间就落后了。 我的PHP后端返回当前时间和未来X时间之间的差值,例如当前时间和提前2小时。这个差异在类,格式如下,我使用javascript函数对差异进行倒计时。以下是我的功能: 代码按预期工作,但几分钟后,比方说2-3分钟,如果您刷新页面或在新窗口中打开它,您将看到倒计时计时器落后秒/分钟。有人知道我做错了什么吗?

  • 我试图创建一个倒计时计时器,努力让它显示小时、分钟、秒。 努力使分钟和小时正确显示。 除此之外,我还需要计时器在午夜开始计时17小时。按照3600*17(17小时)的思路思考,然后去掉剩余的持续时间?