我使用以下代码在我的应用程序中显示一个计时器(在名为“time”的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 +秒等等) )
答案 0 :(得分:1)
您可以使用String.format
填充0
的数字:
String formattedTime = String.format("%02d:%02d", minius, seconds);
time.setText(formattedTime);
答案 1 :(得分:0)
您需要使用String.format
命令设置前导0。尝试:
time.setText(String.format("%02d",minius) + ":" + String.format("%02d",seconds));
当它只有一个时,总给出两个数字,前面带一个0。