0

我正在使用以下代码在我的应用程序中显示一个计时器(在名为“时间”的 editText 中)

final TextView time = (TextView) findViewById(R.id.txtTime);
Long spentTime = System.currentTimeMillis() - startTime;
Long minius = (spentTime/1000)/60;
Long seconds = (spentTime/1000) % 60;
time.setText(minius+":"+seconds);
handler.postDelayed(this, 1000);

这很好用,但格式有点难看。因此,例如在 4 秒时,计时器显示“0:4”,这看起来并不像计时器。

如何更改 setText 的格式,使其显示更常用的计时器(例如 00:04),而不必制作一堆 if 语句(如果秒小于 10 则 0+秒等等)

4

2 回答 2

1

您可以使用'sString.format填充数字:0

String formattedTime = String.format("%02d:%02d", minius, seconds);
time.setText(formattedTime);
于 2013-01-02T01:29:08.867 回答
0

您需要使用String.format命令设置前导 0。尝试:

time.setText(String.format("%02d",minius) + ":" + String.format("%02d",seconds));

当它只有一个时,它总是给你两个数字,以 0 开头。

于 2013-01-02T01:33:06.217 回答