java - 需要 android 计时器秒数重置为 60

标签 java android timer

我正在构建一个使用计时器的应用程序。我有一个带有开始和停止按钮的简单计时器。它可以工作,但我希望秒数重置为 60。目前它一直保持 61、62、63 等。我可以获得一些帮助吗?下面是我的启动方法、停止方法和带有计时器的可运行方法。

private long startTime = 0;
private long timeInMilliSeconds = 0;
private long updatedTime = 0;
private long timeSwapBuff = 0;

start.setOnClickListener(new View.OnClickListener(){
           @Override
            public void onClick(View v) {
                startTime = SystemClock.uptimeMillis();
                customHandler.postDelayed(updateTimerThread, 0);
            }
        });

 stop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                timeSwapBuff += timeInMilliSeconds;
                customHandler.removeCallbacks(updateTimerThread);
            }
        });

private Runnable updateTimerThread = new Runnable() {
        @Override
        public void run() {
            timeInMilliSeconds = SystemClock.uptimeMillis() - startTime;

            updatedTime = timeSwapBuff + timeInMilliSeconds;

            int secs = (int) (updatedTime / 1000);
            int mins = secs / 60;
            int milliseconds = (int) (updatedTime % 1000);

            timer.setText("" + mins + ":" + String.format("%02d", secs) +
             ":" + String.format("%02d", milliseconds));
            customHandler.postDelayed(this, 0);
        }
    };

最佳答案

您是否考虑像这样打印 time%60 而不是打印实际的计时器值

int timeEllapsed = ... // the actual time spent for eg lets say 98
int timeToBePrinted = timeEllapsed%60 // the time you are going to show (38 seconds) 

关于java - 需要 android 计时器秒数重置为 60,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40875331/

相关文章:

java - 扫描文本文件

java - 为什么保存按钮在我的示例 Android 应用程序中不起作用

ios - 无法启动计时器

JavaScript:这个计时器可靠吗?

java - Java中将一个Double数组和两个Long数组转储到ByteBuffer中

java - 安卓 OpenGL ES : How do you select a 2D object?

java - 在java中,如何从日志消息中获取字符串(日期)

android - SSLHandshakeException 但仅适用于 Android 12?

android - 模拟器没有运行

c# - 服务中的定时器