gpt4 book ai didi

java - Android 倒计时至毫秒

转载 作者:行者123 更新时间:2023-12-03 23:34:59 26 4
gpt4 key购买 nike

我正在尝试制作一个倒计时应用程序,其中最大时间将在 10 分钟以下,并且我希望将其显示为 mm:ss:ms (不太确定 ms 是否是毫秒的术语)。这就是我这里的

        text = (TextView) this.findViewById(R.id.counterView);
new CountDownTimer(16069000, 10) { // adjust the milli seconds here
public void onTick(long millisUntilFinished) {
text.setText(""+String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))
));
}

public void onFinish() {
text.setText("done!");
}
}.start();

当前是否显示 hh:mm:ss,我尝试使用它,但无法使其工作。我尝试将格式设置为

"%02d:%02d:%02d:%03d"

但是当我尝试在 setText 中添加毫秒部分时我迷路了。

最佳答案

您在此处明确显示小时:分钟:秒:

        text.setText(""+String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))
));

将其更改为:

        long m = TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished);
long s = TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished - m*60*1000);
long ms = millisUntilFinished - m*60*1000 - s*1000;
text.setText(""+String.format("%02d:%02d:%02d",m,s,ms));

关于java - Android 倒计时至毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34893663/

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