java - Chronometer 初始值错误

标签 java android android-widget

我正在编写一个基于 android.widget.Chronometer 的简单国际象棋时钟应用程序。我将它与 setCountDown(true) 标志一起使用,所有逻辑都运行良好。每个 Chronometer 在单独的 Fragment 中创建。但有时计时表初始值会出现一些问题。例如,我将初始值设置为 20 秒,但实际上我有这个:enter image description here 在应用程序重新启动时,这种区分可能是在随机时钟上进行的。我以这种方式设置初始值,在我的类中扩展 android.widget.Chronometer,并且每次 mTimeLimit 等于 20000:

private void setTimeLimit() {
    mStartTime = SystemClock.elapsedRealtime() + mTimeLimit;
    setBase(mStartTime);
}

我认为问题可能出在 fragment 创建时间等方面。谁知道我错了什么?

最佳答案

我通过在初始值上增加 100 毫秒找到一个解决方案:

mStartTime = SystemClock.elapsedRealtime() + mTimeLimit + 100;

似乎它解决了一个问题,但我认为这不是最好的决定,也许有人知道更好的方法。

关于java - Chronometer 初始值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58131582/

相关文章:

java - 如何在 Kotlin 数据类中记录属性?

java - fragment 返回与 View (CardStackAdapter)相关的所有方法作为空对象引用

java - 连接池是否有利于多线程 Java 程序

android - 配置项目 ':CordovaLib' 时出现问题。在 ionic Cordova

android - 序列化/反序列化 & Proguard

android - Android 上的联系人 View 样式

java - 交替的 Android ListView 颜色不起作用

java - 使用 name 或 id 在 hashmap 中搜索

android - 如何在 GCC 中使用来自不同路径的 C 库

android - 如果我在 Android 或 iOS 中制作 100% 基于 OpenGL 的用户界面,是否可以在其中嵌入 Google map 小部件?