我正在使用Chronometer小部件来获取时间。当时间改变时,它具有ticklistener
来执行操作。我需要在时间运行时使用rate*time
计算金额,但我不知道如何在计时器运行时获得准确的秒数。谁能为我指出正确的方向。谢谢。
答案 0 :(得分:0)
天文钟使用milliseconds
按照此link的规定在onChronometerTickListener
中计算时间,因此需要通过将经过的时间乘以0.001
来转换为秒。现在,您已经花费了总时间(以秒为单位),并且可以对其执行任何计算。
double amount;
string precision;
timer.start();
timer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
long myElapsedMillis = SystemClock.elapsedRealtime() - timer.getBase();
double seconds = myElapsedMillis * 0.001;
amount = (seconds/3600)* hourlyRate;
precision = new DecimalFormat("0.00").format(amount);
}
});