重新启动可运行变量 Android

Restart Runnable Variables Android

我想做一些我不确定是否可以完成的事情,到目前为止我还没有找到任何好的答案来解决我的问题。

这是我的情况:
- 我已经将 Timer 实现为一个 Handler,其中 Runnable 每 1 秒调用一次。
- 我现在需要实现一个类似 Timer.restart() 的方法,它可以重新启动我的 Runnable's 参数。

这是我的代码,您可以看到它,并更好地理解我试图实现的目标

private Runnable rStartCPRTick = new Runnable() {
    public int seconds = 0;
    public int minutes = 0;
    public int hours = 0;

    @Override
    public void run() {
        if(++seconds%60 == 0) //increases the time by one second
            if(++minutes%60 == 0)
                hours++;
        mActivity.updateCPRTime(formatHHMMSS(hours,minutes,seconds));
        mStartCodeHandler.postDelayed(this,1000); // tick again in 1s
    }

    public void restartCPRTick(){
          seconds = 0;
          minutes = 0;
          hours = 0;
    }
};

我的 运行nable,我希望能够从 Runnable 外部调用 resetCPRTick(),然后从开头调用 运行。

这可能吗?

谢谢!!

您的可运行文件是 class。您可以向其中添加您想要的任何方法。只需保留对它的引用并调用执行它的方法(为此,您可能希望将其设为内部 class 而不是匿名 class)。