gpt4 book ai didi

java - Android应用程序中的倒计时器在不同时间开始

转载 作者:行者123 更新时间:2023-12-01 04:50:35 24 4
gpt4 key购买 nike

我有一个应用程序,有 2 个计时器,在单击按钮时启动。

当它们启动时,计时器倒计时会显示在 TextView 中,以便用户看到倒计时的秒数(10、9、8、7 等)

一个计数器是 45 秒计时器,另一个是 30 秒计时器。我注意到,当计时器启动时,它们会采取以下两种方式之一:计时器倒计时显示从正确的秒数开始的秒数(然后跳过一秒)45、43、42、41 等),或者不显示的其他时间起始值并直接跳转到(44、43、42、41 等)并且不跳过任何内容。

最终我希望这些计时器能够合理地显示初始值和倒计时。 IE。始终先显示 45,然后显示 44、43、42、41 等。

对于为什么这可能会或可能不会这样做有什么想法吗?我在类里面使用 android CountDownTimer。

更新:这是我的 CountDownTimer 代码

    public CountDown (long millisInFuture, long countDownInterval, Button button ) {
super(millisInFuture, countDownInterval);
this.button = button;
}


//Timer Countdown
@Override
public void onTick(long millisUntilFinished) {
long timeRemaining = (millisUntilFinished/1000);
button.setText((millisUntilFinished/1000)+"");

最佳答案

我尝试重现该问题,但失败了。也许发布你的代码?

这是我的简单测试,它先显示 45,然后按顺序倒数,最后为零。

    Button b = (Button) findViewById(R.id.button1);
final TextView tv = (TextView) findViewById(R.id.tv_1);

b.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
new CountDownTimer(45 * 1000, 1000) {
int x = 45;

@Override
public void onTick(long millisUntilFinished) {
tv.setText(Integer.toString(x));
x--;

}

@Override
public void onFinish() {
tv.setText("0");

}
}.start();

}
});

关于java - Android应用程序中的倒计时器在不同时间开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15058923/

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