gpt4 book ai didi

android - 处理程序更新 UI 计时器

转载 作者:行者123 更新时间:2023-11-30 04:41:44 28 4
gpt4 key购买 nike

我使用以下代码更新我的 UI 中的计时器。然而,这段代码的问题是,每过一秒,它就会更新 +1 秒。我想我明白为什么会发生这种情况,但我不知道如何解决。

        private Handler mHandler = new Handler();
....


private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
mDifference = System.currentTimeMillis() - mStartTime;
workSum = workSum + mDifference;
TextViewTime.setText("Time so far: " + formatTime(workSum));
mHandler.postDelayed(this, 1000);

}
};

public void onClick(View v) {
switch (v.getId()) {
case R.id.start_button:
startButton.setEnabled(false);
stopButton.setEnabled(true);

if (mStartTime == 0L) {
mStartTime = System.currentTimeMillis();
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(mUpdateTimeTask, 1000);
}

帮助将不胜感激!

最佳答案

workSum = workSum + mDifference; 似乎是你的问题,因为 mDifference 每次都在递增。我认为 workSum = mDifference; 会解决它,甚至

mDifference = System.currentTimeMillis() - mStartTime;
TextViewTime.setText("Time so far: " + formatTime(mDifference));

关于android - 处理程序更新 UI 计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5869678/

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