如何从计时器(android)解析值?

How to parse values from chronometer (android)?

我目前正在尝试创建一个 android 应用程序,我需要从单击开始按钮到单击停止按钮经过的时间(以秒为单位)。目前我有一个计时器,它在 java class:

中使用以下代码
//on start timer
public void startTimer(View view){
    myChronometer.setBase(SystemClock.elapsedRealtime());
    myChronometer.start();
}

//on stop timmer
public void stopTimer(View view){
    myChronometer.stop();
}

后跟 xml 文件中相同 class 的以下代码:

    <Chronometer
    [...]
    android:id="@+id/chronometer" />

<Button
    android:text="Stop"
    [...]
    android:onClick="stopTimer"/>

<Button
    android:text="Start"
    [...]
    android:onClick="startTimer" />

有什么方法可以将使用计时器的时间(以秒为单位)传递给相同的另一个方法 java class?

显然没有 returns 值 (check here) 的方法,但您可以自己轻松计算:

SystemClock.elapsedRealtime() - myChronometer.getBase()

如果您需要在停止计时器后访问时间,您可以这样做

private long timerTime = Long.MIN_VALUE;

//on start timer
public void startTimer(View view){
    myChronometer.setBase(SystemClock.elapsedRealtime());
    myChronometer.start();
    timerTime = Long.MIN_VALUE;
}       

//on stop timmer
public void stopTimer(View view){
    myChronometer.stop();
    timerTime = SystemClock.elapsedRealtime() - myChronometer.getBase();
}

private long getTimerTime(){
    if(timerTime == Long.MIN_VALUE){
        return SystemClock.elapsedRealtime() - myChronometer.getBase();
    }

    return timerTime;
}