Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android计时器节省加载时间_Android_Chronometer - Fatal编程技术网

Android计时器节省加载时间

Android计时器节省加载时间,android,chronometer,Android,Chronometer,我的应用程序中有一个计时器,它可以计算游戏经过的时间。 我在退出时有保存功能。 我需要节省时间从计时器,并显示相同的时间,当我加载游戏后 在保存功能中,我保存chronometer.getBase值。 在负荷函数中,我得到了那个值,并在计时器上设置了一个位置。 但这不是正确的时间,在应用程序关闭时,计时器似乎一直在滴答作响 如何做到这一点? 看来getBase对我来说不是一个合适的值。我找到了一个解决方案 在保存功能中,我通过以下方法存储值: private long calculateElap

我的应用程序中有一个计时器,它可以计算游戏经过的时间。 我在退出时有保存功能。 我需要节省时间从计时器,并显示相同的时间,当我加载游戏后

在保存功能中,我保存chronometer.getBase值。 在负荷函数中,我得到了那个值,并在计时器上设置了一个位置。 但这不是正确的时间,在应用程序关闭时,计时器似乎一直在滴答作响

如何做到这一点? 看来getBase对我来说不是一个合适的值。

我找到了一个解决方案

在保存功能中,我通过以下方法存储值:

private long calculateElapsedTime(Chronometer mChronometer) {

        long stoppedMilliseconds = 0;

        String chronoText = mChronometer.getText().toString();
        String array[] = chronoText.split(":");
        if (array.length == 2) {
            stoppedMilliseconds = Integer.parseInt(array[0]) * 60 * 1000
                    + Integer.parseInt(array[1]) * 1000;
        } else if (array.length == 3) {
            stoppedMilliseconds = Integer.parseInt(array[0]) * 60 * 60 * 1000
                    + Integer.parseInt(array[1]) * 60 * 1000
                    + Integer.parseInt(array[2]) * 1000;
        }

        return stoppedMilliseconds;

    }
在加载功能中,我刷新了计时器,如下所示:

 ((GameActivity) activity).getcGameTime().setBase(
                SystemClock.elapsedRealtime() - gameElapsedTime(getcGameTime()));
希望有一天这会对某人有所帮助。干杯