2011-09-09 6 views

risposta

6

È possibile controllare questo utilizzando variable.when booleano che si avvia il cronometro si imposta variabile booleana true e quando smette di impostare la variabile booleana false.

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; 
} 
2

E 'è strano che non esponga quella proprietà. Non vedo davvero un modo ideale per controllarlo oltre a tenere traccia da solo.

Si può solo prendere the source code per quella classe, la sua attuazione nel progetto te stesso, e aggiungere un metodo come questo:

public boolean getStarted() { 
    return mStarted; 
} 
5

È possibile extendChronomter, in questo modo:

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; 
    } 

} 

E poi basta chiamare isRunning().

0
private boolean isChronometerRunning = false; 

private Chronometer chronometer; 

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

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

isChronometerRunning = true; 

Ora, quando si desidera interrompere il cronometro, utilizzare il codice seguente per verificare se il cronometro è in funzione o meno.

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