Chronometer を完全に再起動しようとしていますが、機能しません。代わりに一時停止中です。基本的に私がやろうとしているのは、クロノメーターが 10 までカウントしている間に何かをすることです。それが終わったら、ユーザーに再試行するように促します。その場合、カウントを 1 秒から 10 秒にやり直します。ただし、クロノメーターは 0 からではなく、一時停止した時間から開始します。
コードは次のとおりです。
_cutOfTime = 10; // constant
ボタンを押すたびにstartRecording()
クロノメーターを停止/一時停止するのではなく、常に開始する必要がありますが、逆のことを行います
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();
}
クロノメーターを一時停止せずに完全に停止するようにリセットする方法はありますか?