检查天文台表是否正在运行

时间:2011-09-09 09:50:17

标签: android chronometer

android中的天文台如何检查天文台是否正在运行或停止? 如果开始然后我想停止它,如果没有运行,那么启动计时器。

4 个答案:

答案 0 :(得分:7)

你可以使用布尔变量检查这个。当你启动计时器时你设置布尔变量为真,当它停止时你设置布尔变量为假。

boolean isChronometerRunning = false;
if (true)  // condition on which you check whether it's start or stop
{
    chronometer.start();
    isChronometerRunning  = true;
}
else
{
  chronometer.stop();
  isChronometerRunning  = false;
}

答案 1 :(得分:6)

您可extend Chronomter,如下所示:

import android.content.Context;
import android.os.SystemClock;
import android.util.AttributeSet;
import android.widget.Chronometer;

public class MyChronometer extends Chronometer {

    private boolean isRunning = false;

    public MyChronometer(Context context) {
        super(context);
    }

    public MyChronometer(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyChronometer(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public void start() {
        super.start();
        isRunning = true;
    }

    @Override
    public void stop() {
        super.stop();
        isRunning = false;
    }

    public boolean isRunning() {
        return isRunning;
    }

}

然后只需致电isRunning()

答案 2 :(得分:2)

奇怪,它没有公开该属性。除了自己跟踪之外,我真的没有看到理想的方法来检查它。

您可以为该课程选择the source code,自己在项目中实施,并添加如下方法:

public boolean getStarted() {
    return mStarted;
}

答案 3 :(得分:0)

private boolean isChronometerRunning = false;

private Chronometer chronometer;

chronometer = (Chronometer) findViewById(R.id.chronometer);

chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.start();

isChronometerRunning = true;

现在每当想要停止计时器时,使用以下代码检查计时器是否正在运行。

    if (isChronometerRunning){
        chronometer_call.stop();
    }