在textView中格式化android文本的问题

时间:2014-09-04 22:56:14

标签: android string formatting textview formatter

我在textView上格式化字符串时遇到很多问题。我正在创建一个秒表应用程序,我需要格式化为" 00:00:00"但是当我启动秒表时,它出现在" 00:00:000"

这是代码

private Runnable updateTimerThread = new Runnable() {
public void run() {
  timeInMilliseconds = SystemClock.uptimeMillis() - startTime;
  updatedTime = timeSwapBuff + timeInMilliseconds;
  int secs = (int) (updatedTime / 1000);
  int mins = secs / 60;
  secs = secs % 60;
  int milliseconds = (int) (updatedTime % 1000);
  timerValue.setText(String.format("%02d:%02d:%02d", mins, secs, milliseconds));
  customHandler.postDelayed(this, 0);
}

};

如果您需要更多信息,请与我们联系。

提前致谢

2 个答案:

答案 0 :(得分:3)

我相信你想要的修复是将毫秒设为3位,因为它可以是多个数字:

 "%02d:%02d:%03d"

"%02D"如果数字太短,则预先加零,但如果数字太长则不截断。毫秒可以是3位数值。

如果您希望最终值为2位数,则可以执行以下操作:

  milliseconds /= 10;  // now 1/100ths of a second

答案 1 :(得分:0)

不是1/1000秒的毫秒? 我认为你需要展示最多的东西.. 在这种情况下,我认为00:00:000是准确的。