2

我想创建一个 CountDownTimer,将其剩余时间传递给所有活动并将其显示在 TextViews 中。我尝试使用intent.putExtra,但是当我开始新的活动时,计时器重新启动。

这就是我需要的:

-ActivityA 以 60 秒计时器开始,因此其 TextView 显示 59...58...57...等...

-ActivityB 在 6 秒后启动,因此其 TextView 显示 54...53...52...等...

倒计时只需从第一个活动持续到最后一个活动。

希望我足够清楚。感谢您的解决方案,并对我的意大利语英语感到抱歉。

4

1 回答 1

1

使用静态变量(也许为“更好”的代码创建一个新类)。

public static int time;

或者您可以在 ActivityA 中声明它,将变量倒数并在 ActivityB 中使用它

textView.setText("" + ActivityA.time);

编辑:

public class MyTimer {
    private static int time = 60;

    public MyTimer() {
        if(time >= 60) {
            countDown();  //let countDown only run once
        }
    }

    private void countDown() {
         //insert a thread here, which counts your time down
    }

    public int getTime() {
        return this.time;
    }

}

然后,在您的活动中:

MyTimer mTimer = new MyTimer();
textview.setText(mTimer.getTime() + "");
于 2013-10-01T16:21:37.483 回答