I have a Chronometer
, which should have the format "hh:mm:ss". The current code give me a time like "0:12052:0-723107" for elapsed 12 seconds. Which is wrong in several ways. The division by 1000 seems not working and the seconds are displayed in the minutes segment.
I already tried String.valueOf
but it also didn't work. Here's the current code:
class updateStoptime implements Runnable {
@Override
public void run() {
chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
timeElapsed = SystemClock.elapsedRealtime() - chronometer.getBase();
h = (int) (timeElapsed / 3600000);
m = (int) (timeElapsed - h * 3600000 / 60000);
s = (int) (timeElapsed - h * 3600000 - m * 60000) / 1000;
stopTime = (h < 10 ? "0"+h: h)+":"+(m < 10 ? "0"+m: m)+":"+ (s < 10 ? "0"+s: s);
chronometer.setText(stopTime);
Log.i("Zeit:", String.valueOf(stopTime));
}
});
What do I have to change to get the desired format "hh:mm:ss" ?