Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正确实现倒计时_Java_Android_Countdowntimer - Fatal编程技术网

Java 正确实现倒计时

Java 正确实现倒计时,java,android,countdowntimer,Java,Android,Countdowntimer,我目前正在为Android操作系统开发一款游戏。在其中,玩家可以进行活动。每项活动都会消耗玩家的能量。玩家当前的能量值存储在sqlite表中,并显示在home screenhome.class上。当玩家进行活动时,能量值会降低。当能量为零时,我需要一个倒计时器将能量值重置为10 到目前为止,我实现它的方式如下。在显示用户健康/能量等级的主屏幕顶部,我显示了倒计时 定时器工作。但是,当我单击一个按钮并转到另一个活动,然后返回主屏幕时,计时器已重新启动。我知道这是因为当我想返回主屏幕时会运行以下代码

我目前正在为Android操作系统开发一款游戏。在其中,玩家可以进行活动。每项活动都会消耗玩家的能量。玩家当前的能量值存储在sqlite表中,并显示在home screenhome.class上。当玩家进行活动时,能量值会降低。当能量为零时,我需要一个倒计时器将能量值重置为10

到目前为止,我实现它的方式如下。在显示用户健康/能量等级的主屏幕顶部,我显示了倒计时

定时器工作。但是,当我单击一个按钮并转到另一个活动,然后返回主屏幕时,计时器已重新启动。我知道这是因为当我想返回主屏幕时会运行以下代码:

Intent i=新IntentCrime.this,Home.class; 斯塔维蒂

它会启动一个新的Home.class,因为我想在执行某些活动后更新主屏幕中显示的值


实现倒计时的更好方法是什么?任何帮助都将不胜感激……谢谢:

至少在点击“暂停”按钮后,在数据库中存储要重置能量的时间,并用滴答的线程更新剩余时间。这样,您就不需要依赖计时器来完成/重新启动,因为您始终可以基于当前系统时间重新计算时间

您可以向Home类添加一个刷新类型方法并调用它,而不是创建一个新实例吗?您的意思是这样的吗?public void onBackPressed{super.onBackPressed;Home h=新家;h.refresh;