gpt4 book ai didi

Android Chronometer 以定义的值开始

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:11 26 4
gpt4 key购买 nike

我有一个应用程序,我在其中向用户显示他正在做的事情的计时器。每当 Activity 进入后台(通过主页按钮或返回)时,我都会保存该时间(以秒为单位),当 Activity 恢复时,我想继续从同一时间开始运行计时器。用户可能从列表中选择不同的项目,时间不同,他也可能关闭手机......我可以保存计时表的时间,但我无法设置开始时间。

来自Chornometer API ,方法 setBase() 指出:

Set the time that the count-up timer is in reference to.

据我了解,这意味着如果我将此值设置为 currentTime,它将从 0 开始计数。现在,如果我希望它以值 17s 开始,我考虑将基数设置为 currentTime 减去 17 秒前的时间。所以像这样:

setBase(system.currentTimeMillis() - (17 * 1000)).

但是这不起作用,它总是从 0 开始!

我在这里阅读了其他一些主题,但没有一个答案有帮助。它总是从 0 开始!

提前致谢。

最佳答案

我认为您将不得不自己记录一些时间标记。

Chronometer myChrono;
long baseTime;
long stopTime;
long elapsedTime;

设置基准时间时,要使用:

baseTime = SystemClock.elapsedRealtime() - stopTime;
myChrono.setBase(baseTime);

当你想查看已经过了多少时间时,使用:

elapsedTime = SystemClock.elapsedRealtime() - myChrono.getBase();

看看系统时钟 doc .

关于Android Chronometer 以定义的值开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com