Android 从计时器更新活动中的UI

Android 从计时器更新活动中的UI,android,android-activity,timer,timertask,Android,Android Activity,Timer,Timertask,我正在开发一个体育锻炼应用程序。在我的应用程序中,我启动了一个活动,其中显示了练习。练习完成后,此活动将完成并启动一个新活动,以允许用户休息。休息结束后,再次启动练习活动。重复此过程,直到训练时间超过用户定义的时间 我需要在计时器的每一秒更新锻炼活动的UI 我真的不知道如何处理这两个活动共享同一个计时器的方法。您可以根据计时器的需要扩展Android活动类,并从中扩展您的锻炼类。例如: import android.app.Activity; import java.util.Timer; p

我正在开发一个体育锻炼应用程序。在我的应用程序中,我启动了一个活动,其中显示了练习。练习完成后,此活动将完成并启动一个新活动,以允许用户休息。休息结束后,再次启动练习活动。重复此过程,直到训练时间超过用户定义的时间

我需要在计时器的每一秒更新锻炼活动的UI


我真的不知道如何处理这两个活动共享同一个计时器的方法。

您可以根据计时器的需要扩展Android活动类,并从中扩展您的锻炼类。例如:

import android.app.Activity;
import java.util.Timer;

public class MyTimedActivity extends Activity {
    Timer timer = new Timer();

    public Timer getTimer() {
        return timer;
    }

    public void setTimer(Timer timer) {
        this.timer = timer;
    }
}

现在,如果你的锻炼课程是从MyTimedActivity扩展而来的,那么你在每个活动中都会得到一个独立于其他活动的计时器。

你可以根据计时器的需要扩展Android活动课程,并从中扩展你的锻炼课程。例如:

import android.app.Activity;
import java.util.Timer;

public class MyTimedActivity extends Activity {
    Timer timer = new Timer();

    public Timer getTimer() {
        return timer;
    }

    public void setTimer(Timer timer) {
        this.timer = timer;
    }
}

现在,如果您的运动课程从MyTimedActivity扩展而来,那么您可以在每个活动中获得一个独立于其他活动的计时器。

您需要两个倒计时器,每个活动一个。一方按时启动另一方的活动。它们基本上是做同样的事情。你不应该在Android上使用定时器,而应该使用处理器。甚至还有关于“当练习完成时,此活动完成并开始一个新活动以允许用户休息”的示例——这不是一个特别好的方法。使用一个活动。我刚刚评估了一些你想要的应用程序。似乎没有人在这些阶段使用不同的活动。绝对不会使用单独的活动。是否使用片段或其他就地UI更新取决于您。您需要2个倒计时,每个活动一个。一方按时启动另一方的活动。它们基本上是做同样的事情。你不应该在Android上使用定时器,而应该使用处理器。甚至还有关于“当练习完成时,此活动完成并开始一个新活动以允许用户休息”的示例——这不是一个特别好的方法。使用一个活动。我刚刚评估了一些你想要的应用程序。似乎没有人在这些阶段使用不同的活动。绝对不会使用单独的活动。您是否使用片段或其他就地UI更新取决于您自己。不是真的。您使用同一类的两个实例。是的,有两个活动从MyTimedActivity扩展而来,您有两个独立的计时器。我编辑了我的答案以使其更清楚。
您只使用了一个计时器
不,您使用了两个计时器。计时器对象的2个实例。所以,实际上是两个计时器。好的,谢谢大家的帮助,最后我将使用两个计时器,每个活动一个计时器。我知道这可能不是启动其他活动的最佳方法,但我希望所有屏幕都被替换,这就是我不使用片段的原因。不是真的。您使用同一类的两个实例。是的,有两个活动从MyTimedActivity扩展而来,您有两个独立的计时器。我编辑了我的答案以使其更清楚。
您只使用了一个计时器
不,您使用了两个计时器。计时器对象的2个实例。所以,实际上是两个计时器。好的,谢谢大家的帮助,最后我将使用两个计时器,每个活动一个计时器。我知道这可能不是启动其他活动的最佳方法,但我希望所有屏幕都被替换,所以我不使用片段。