繁体   English   中英

需要Android计时器秒数才能重置为60

[英]Need android timer seconds to reset at 60

我正在构建一个使用计时器的应用程序。 我有一个带有启动和停止按钮的简单计时器。 它可以工作,但我希望将秒数重置为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) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM