gpt4 book ai didi

android - 计时器中的更新时间

转载 作者:行者123 更新时间:2023-11-29 14:04:51 24 4
gpt4 key购买 nike

我有一个计时器。应该有时间显示。当我启动计时器时,时间始终相同,但它应该更新

调用:

                Log.e("XXX","OnClick");
String[] array = clock.getText().toString().split(":");
int ms = (Integer.valueOf(array[0])*60 + Integer.valueOf(array[1]))*60000;
Log.e("XXX",String.valueOf(ms));
MyTimer counter = new MyTimer(ms, 1000, Timer.this,clock);

counter.start();

计时器:

public class MyTimer extends CountDownTimer {
private Context con;
private Chronometer clock;

public MyTimer(long millisInFuture, long countDownInterval, Context context, Chronometer clock) {
super(millisInFuture, countDownInterval);
this.con = context;
this.clock= clock;
// TODO Auto-generated constructor stub
}


@Override
public void onTick(long millisUntilFinished) {

int seconds = (int) (millisUntilFinished / 1000) % 60 ;
int minutes = (int) ((millisUntilFinished / (1000*60)) % 60);
int hours = (int) ((millisUntilFinished / (1000*60*60)) % 24);
clock.setText( String.format("%02d:%02d:%02d", hours,minutes,seconds));
Log.e("Timer", String.valueOf(millisUntilFinished));

}

问题是计时器上的时间总是一样的。和日志(计时器)也不要出现。会不会是UI刷新太快了?

最佳答案

我不太确定将您的上下文和 View 作为扩展类的参数传递。也许您应该尝试对您的代码进行这种改编(并摆脱您的 MyTimer 类)?

Log.e("XXX","OnClick");
String[] array = clock.getText().toString().split(":");
int ms = (Integer.valueOf(array[0])*60 + Integer.valueOf(array[1]))*60000;
Log.e("XXX",String.valueOf(ms));

new CountDownTimer(ms,1000){
@Override
public void onTick(long millisUntilFinished) {

int seconds = (int) (millisUntilFinished / 1000) % 60 ;
int minutes = (int) ((millisUntilFinished / (1000*60)) % 60);
int hours = (int) ((millisUntilFinished / (1000*60*60)) % 24);
clock.setText( String.format("%02d:%02d:%02d", hours,minutes,seconds));
Log.e("Timer", String.valueOf(millisUntilFinished));

}
}.start();

关于android - 计时器中的更新时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7649453/

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