如何在CountDownTimer上保持领先零?

时间:2013-11-18 21:11:13

标签: java android string time countdowntimer

我正在使用CountDownTimer来显示剩余时间。

数学是正确的,但它正在移除前导零。

它会给我1:9而不是01:09

这是我的代码:

final TextView mTextField = (TextView)findViewById(R.id.mTextField);
new CountDownTimer(120000, 1000) {

     public void onTick(long millisUntilFinished) {

         long secondsUntilFinished = millisUntilFinished / 1000;
         long minutes = secondsUntilFinished / 60;
         long seconds = secondsUntilFinished % 60;
         String time = String.format("%d:%d", minutes, seconds);
         mTextField.setText(time);
     }

     public void onFinish() {
         mTextField.setText("done!");
     }
  }.start();

我在String.format("%d:%d", minutes, seconds);上收到编译器警告,但我不确定它是否与它有关:

  

隐式使用默认语言环境是常见的错误来源:使用   String.format(Locale,...)改为

1 个答案:

答案 0 :(得分:4)

您可以使用:

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

关于您的警告,它是为了避免意外问题。

例如,如果您在阿拉伯语手机上使用%d而未向美国设置区域设置,则会显示阿拉伯数字。 因此,发出此警告可帮助您记住此行为。