Réinitialisation du chronomètre
Je suis en train de redémarrer complètement le Chronomètre et sa ne fonctionne pas. Au lieu de cela il est en pause. Fondamentalement, ce que je suis en train de faire est de faire quelque chose pendant que le chronomètre est en train de compter jusqu'à 10. Après son fait, nous invite à l'utilisateur d'essayer de nouveau. Dans ce cas, nous voulons refaire le décompte de 1 à 10 secondes. Mais le Chronomètre démarre à partir du temps de pause au lieu de partir de 0.
voici le code:
_cutOfTime = 10; //constant
chaque fois que le bouton est pressé de faire startRecording()
il faut toujours lancer le Chronomètre au lieu d'arrêter/mettre en pause, mais il fait le contraire
protected void startRecording(){
this._watch = (Chronometer) findViewById(R.id.chrono);
if (this._watch != null)
this._watch.setOnChronometerTickListener(new OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
long countUp = (SystemClock.elapsedRealtime() - chronometer.getBase()) / 1000;
Log.i(_tag, "time now: " + String.valueOf(countUp));
if(countUp > _cutOfTime)
{
Log.i(_tag, "stop recording!!: ");
_watch.stop();
stopRecordWav();
launchPromptWithResults();
}
long sec = countUp % 60;
String asText = "" + sec;
_textView.setText("Recorded: " + asText);
}
});
if (_watch != null)
_watch.start();
}
Est-il un moyen de réinitialiser le chronomètre afin de ne pas mettre en pause, mais d'arrêter complètement?
source d'informationauteur dropsOfJupiter | 2011-03-17
Vous devez vous connecter pour publier un commentaire.
Quand j'ai joué avec le chronomètre du temps de retour je viens d'utiliser le setBase() méthode pour définir la base à l'heure actuelle juste avant l'appel de la méthode start(). Selon vos besoins, vous devrez peut-être ajouter un peu de logique autour de réinitialiser le chronomètre ou pas avant de le démarrer.