Android计时器可节省加载时间

时间:2012-10-21 11:59:55

标签: android chronometer

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

在保存功能中,我保存了chronometer.getBase()值。 在加载函数中,我在计时器上获得该值和setBase()。 但这不是正确的时间,似乎计时器在应用程序关闭时仍在滴答作响。

怎么做? 看来getBase不适合我的目的。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

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

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()));

希望有一天这会对某人有所帮助。干杯!