答案 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();
}