当前位置: 首页 > 知识库问答 >
问题:

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

法烨烨
2023-03-14

我有一个应用程序,有两个定时器开始他们的按钮点击。

当它们开始时,计时器倒计时显示在文本视图中,因此用户可以看到倒计时(10,9,8,7等)

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

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

你有没有想过为什么会这样做?我在课堂上使用Android倒计时。

更新:这是我的倒计时代码

    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)+"");

共有1个答案

乐成济
2023-03-14

我试图复制这个问题,但无法。也许发布你的代码?

这是我的简单测试,它先显示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();

        }
    });
 类似资料:
  • 本文向大家介绍Android倒计时神器(CountDownTimer),包括了Android倒计时神器(CountDownTimer)的使用技巧和注意事项,需要的朋友参考一下 Android倒计时神器 - CountDownTimer,供大家参考,具体内容如下 啥是CountDownTimer?​ CountDownTimer是Andorid.os包下一个谷歌为我们封装好的一个倒计时工具。我们吗、

  • 我有一个以毫秒为单位的数据,使用CountDown类,我将以这种格式显示时间:天:胡:分钟:秒。如果我做毫秒/1000我有总秒如果我做(毫秒/1000)/60我有总分钟等,但我如何以这种格式显示倒计时:2天:21小时:56分钟:00秒 谢谢

  • 我正在尝试为日期/时间创建一个简单的倒计时计时器。 我目前只有以下几天去脚本,工作正常: 我现在尝试创建一个完整的倒计时计时器(有小时、分钟和秒),并创建了以下脚本。html没有显示在页面上。 我不确定可能是什么问题。第一个脚本包含在html中,第二个是外部js文件。 编辑:html现在显示,但所有值都显示为NaN。

  • 所以我用Java创建了一个手机应用程序,上面有一个简单的计时器,从0秒开始到50秒。我如何让这个计时器从50秒开始到0秒。就像一个倒数计时器。请帮帮忙。 }

  • 我的应用程序检查是否有一个带有日期的文件。 如果有日期,它将计算今天和该(未来)日期之间的差值,并初始化计时器,以X天Y小时Z分S秒的方式倒计时到该日期。 如果没有文件,则用户可以通过按钮选择日期。程序将在文件中存储日期并设置倒计时。 有一个删除按钮可以删除日期并选择其他日期。此删除按钮应取消计时器,使其停止计数。 当我取消计时器时,计时器不会停止。我的计时器滴答作响,但相差2秒,而不是1秒。显示

  • 本文向大家介绍Flutter倒计时/计时器的实现代码,包括了Flutter倒计时/计时器的实现代码的使用技巧和注意事项,需要的朋友参考一下 在我们实现某些功能时,可能会有倒计时的需求。 比如发送短信验证码,发送成功后可能要求用户一段时间内不能再次发送,这时候我们就需要进行倒计时,时间到了才允许再次操作。 如下图: 为了实现这样场景的需求,我们需要使用 Timer.periodic 。 一、引入Ti