重新启动可运行变量 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)。
我想做一些我不确定是否可以完成的事情,到目前为止我还没有找到任何好的答案来解决我的问题。
这是我的情况:
- 我已经将 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)。