android - 使用计时器小部件的时间来计算给定速率的数量

标签 android time chronometer

我正在使用 Chronometer 小部件来获取耗时。它有一个 ticklistener 来在时间改变时执行一个 Action 。我需要在时间运行时使用 rate*time 计算一个数量,但我不知道如何在计时器运行时获得准确的秒数。谁能给我指出正确的方向。谢谢。

最佳答案

计时表以 毫秒 为单位计算时间,如 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);                    
            }
        });

关于android - 使用计时器小部件的时间来计算给定速率的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51540711/

相关文章:

Android Studio - 无法连接到设备(三星 Galaxy S7)

android - Ice Cream Sandwich 风格标签

html5 "time"输入24小时

java - 从日期对象获取时间

java - 当我更改 Activity 时不要停止计时器

android - 从 Android Webview 中删除图像?

java - 单击按钮时如何进行随机布局

r - 从具有 R 标准格式日期/时间的大型数据集中计算平均每日值?

android - Chronometer 节省 fragment 更改时间

安卓毫秒