我想做一些我不确定可以做的事情,到目前为止我还没有找到任何问题的好答案。
这是我的情况:
- 我已将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
,然后调用从开始运行的运行。
这样的事情可能吗?
谢谢!
答案 0 :(得分:0)
你的runnable是一个类。您可以添加任何所需的方法。只需保持对它的引用并调用一个执行它的方法(为此你可能想让它成为一个内部类而不是一个匿名类)。