手动将长值设置为计时器。我的长值是正确的但是当我将其设置为chronometer.setBase()
时,它会显示特殊字符而不是正确的时间。
// hourInt = 4
// minInt = 34
// secInt = 40
Calendar cal1 = Calendar.getInstance();
cal1.set(Calendar.HOUR, hourInt);
cal1.set(Calendar.MINUTE, minInt);
cal1.set(Calendar.SECOND, secInt);
long codeBase = cal1.getTime().getTime();
System.out.println("Code Base..."+codeBase);
chronometer.setBase(codeBase);
chronometer.start();
它显示特殊的字符,如00:0)和00:0 *以及所有特殊字符。 如何设置自定义长值。
答案 0 :(得分:2)
我一直在努力解决这个问题,直到我通过反复试验找出答案。
Chronometer.setBase()
希望millis基于elapsed real time
。这意味着纪元毫秒不起作用。为了能够使用纪元毫秒,您必须像这样调用Chronometer.setBase()
:
chronometer.setBase(SystemClock.elapsedRealtime() -
System.currentTimeMillis() + codeBase);
数学有效地将纪元毫秒转换为经过的实时毫秒。