我在Activity
(1)A Chronometer
并且运行正常。我点击Button
并开始Chronometer
时间计数。
我试图让分数Chronometer
改变Activity
(2),但没有成功。
在这个新的Activity
(2)中没有布局Chronometer
一个组件。
我尝试将Chronometer
(1)的Activity
对象传递给另一个Activity
(2)并继续计数,但仍继续使用此计时器并提供新的start()
不计算时间。
我试图通过Chronometer
传递组件Intent.putExtra()
并创建一个内存类。
我尝试在隐身布局中创建Activity
(2)Chronometer
并仅传递Chronometer.getBase()
的值并给出start()
,但不计算时间。
在Activity
(2)中应继续记录时间并返回Activity
(1)Chronometer
应该是可见的已用时间。
Activity
(1)和(2)与finish()
一起死亡。
答案 0 :(得分:1)
您只需要保留对原始开始时间的引用。有关详细信息,请参阅Chronometer docs,但要点是:
long startTime = SystemClock.elapsedRealtime();
chronometerInstance.setBase(startTime);
chronometerInstance.start();
然后您可以将startTime
传递给其他活动,并在您需要启动计时器的任何时候继续使用相同的值。
答案 1 :(得分:1)
感谢您的回复!我曾尝试过这种媒介,但没有成功。事实上,我更好地分析了我的代码,发现我在破坏自己。在将其设置为开始计数之后,创建了一个新的计时器实例。所以它没有考虑到。并且利用它们必须使用更多这种代码时间的方式:
long restartTime = getIntent().getLongExtra(Constantes.TIME, 0) + SystemClock.elapsedRealtime();
这是将当前的getBase设置为前一个Activity中的Chronometer。
并且将Activity调用以下putExtra():
long valueChrono = chronometer.getBase()
- SystemClock.elapsedRealtime();
谢谢你,对不起有任何问题!