Java 在android应用程序中,倒计时计时器在不同的时间启动
我有一个应用程序,有两个定时器开始他们的按钮点击 当它们启动时,计时器倒计时显示在文本视图中,以便用户看到秒数倒计时(10、9、8、7等) 一个计数器是45秒计时器,另一个是30秒计时器。 我注意到,当计时器启动时,它们会以两种方式之一运行:计时器倒计时显示从正确的时间开始的秒数(然后跳过一个)45、43、42、41等,或者其他时间不显示开始值,直接跳到(44、43、42、41等),并且不会跳过任何时间 最终,我希望这些计时器能够合理地显示初始值和倒计时。即始终先显示45,然后显示44、43、42、41等 你有没有想过为什么会这样做? 我在课堂上使用安卓倒计时 更新:这是我的倒计时代码Java 在android应用程序中,倒计时计时器在不同的时间启动,java,android,timer,countdowntimer,Java,Android,Timer,Countdowntimer,我有一个应用程序,有两个定时器开始他们的按钮点击 当它们启动时,计时器倒计时显示在文本视图中,以便用户看到秒数倒计时(10、9、8、7等) 一个计数器是45秒计时器,另一个是30秒计时器。 我注意到,当计时器启动时,它们会以两种方式之一运行:计时器倒计时显示从正确的时间开始的秒数(然后跳过一个)45、43、42、41等,或者其他时间不显示开始值,直接跳到(44、43、42、41等),并且不会跳过任何时间 最终,我希望这些计时器能够合理地显示初始值和倒计时。即始终先显示45,然后显示44、43、4
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();
}
});
抱歉-我的语言搞错了-不是文本视图,而是按钮的文本。我在上面更新了我的倒计时代码-谢谢!虽然我最终没有使用你的方法,但我会将它标记为答案,因为它确实有效。