代码之家  ›  专栏  ›  技术社区  ›  Vlad Ilisan

计时器在10分钟后显示010:00,而不是10:00

  •  -2
  • Vlad Ilisan  · 技术社区  · 8 年前

    我必须改变什么,以便计时器在10分钟后显示10:00,而不是010:00。我知道一点如何解决它,但它并不能解决原来的问题--如果从中删除“0” (textTimer.setText("0" + minutes + ":") 它显示 0:00 当低于10时。我如何在10分钟后显示10:00,10分钟前显示00:00。谢谢

        public void run() {
            timeInMillies = SystemClock.uptimeMillis() - startTime;
            finalTime = timeSwap + timeInMillies;
    
            int seconds = (int) (finalTime / 1000);
            int minutes = seconds / 60;
            seconds = seconds % 60;
            int milliseconds = (int) (finalTime % 1000);
            textTimer.setText("0" + minutes + ":"
                    + String.format("%02d", seconds));
            myHandler.postDelayed(this, 0);
        }
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   OneCricketeer Gabriele Mariotti    8 年前

    我不太清楚为什么不格式化整个字符串

    textTimer.setText(String.format("%02d:%02d", minutes, seconds));