0

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

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

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

Intent i = new Intent(Crime.this, Home.class); startActivity(i);

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

实现 CountDownTimer 的更好方法是什么?任何帮助将不胜感激......谢谢:)

4

1 回答 1

0

存储您想要在数据库中重置能量的时间(至少在您点击一次onPause)并使用滴答作响的线程事物更新剩余时间。这样您就不需要依靠计时器来完成/重新启动,因为您始终可以根据例如当前系统时间重新计算时间

于 2012-03-16T20:28:48.620 回答