重新启动Runnable变量Android

时间:2016-06-16 23:45:25

标签: java android timer runnable

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

这是我的情况:
  - 我已将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;
    }
};

我的runnable,我希望能够从resetCPRTick()之外调用Runnable,然后调用从开始运行的运行。

这样的事情可能吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

你的runnable是一个类。您可以添加任何所需的方法。只需保持对它的引用并调用一个执行它的方法(为此你可能想让它成为一个内部类而不是一个匿名类)。