Android Studio Firebase quizapp timer



我正在尝试为我的测验应用程序编写计时器。

我已经编码了这个。它每 5 个 secound 更新一次我的问题。我在火力基地有 5 个问题。方法qupdate()正在更新我的按钮和问题文本视图。

如果我不单击任何按钮,问题每 5 次更新一次,25 秒后我将进入结束菜单。

我的问题是:当我按下按钮时,计时器没有重置。 示例:我打开测验,我在 2 次 secounds 后单击了一个按钮,并且在 3 次 secounds 之后我得到了新问题,计时器正在更新我的问题。

当按下按钮时,我如何将计时器重置为 5 secounds,以便我(如果我单击与否)还剩 5 秒。

  int delay = 5000; // delay for 5 sec.
    int period = 5000; // repeat every sec.
    Timer timer = new Timer();
    timer.scheduleAtFixedRate(new TimerTask()
    {
        int count = 0;
        public void run()
        {
            qupdate();
            count ++;
            if(count == 5)
                this.cancel();
        }
    }, delay, period);
}

看起来您需要取消计时器并启动一个新计时器。

因此,在您的点击处理程序中:

timer.cancel();
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
  ...
}, delay, period);

最新更新