如何在Android中启动和停止计时器?
请告诉我如何启动计时器以及如何停止计时器。如果您找到所有必要的信息,请告诉我。正如您所看到的,有多种方法可以启动计时器。只需使用适当的如何在Android中启动和停止计时器?,android,timer,Android,Timer,请告诉我如何启动计时器以及如何停止计时器。如果您找到所有必要的信息,请告诉我。正如您所看到的,有多种方法可以启动计时器。只需使用适当的计划(…)方法即可。要停止计时器,可以使用cancel()方法,然后使用purge()方法。但是请注意,cancel()方法会取消与此计时器关联的所有任务。您可以找到所有必要的信息。正如您所看到的,有多种方法可以启动计时器。只需使用适当的计划(…)方法即可。要停止计时器,可以使用cancel()方法,然后使用purge()方法。但是请注意,cancel()方法会取
计划(…)
方法即可。要停止计时器,可以使用cancel()方法,然后使用purge()方法。但是请注意,cancel()方法会取消与此计时器关联的所有任务。您可以找到所有必要的信息。正如您所看到的,有多种方法可以启动计时器。只需使用适当的计划(…)
方法即可。要停止计时器,可以使用cancel()方法,然后使用purge()方法。但是请注意,cancel()方法会取消与此计时器关联的所有任务。您是说计时器类吗
您可以使用schedule
方法来调度TimerTask
和TimerTask#cancel
来取消它。您是说Timer
类吗
您可以使用schedule
方法调度TimerTask
和TimerTask#cancel
来取消它。如果您想停止倒计时
Timer.cancel() 如果要停止倒计时
Timer.cancel()
Use this Working Code.
package com.example.stopwatch;
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.Log;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.CompoundButton;
import android.widget.ToggleButton;
public class StopWatch extends Activity {
Chronometer mChronometer;
Button button;
private long start = SystemClock.elapsedRealtime();
private long stop = 0;
private long totalPauseTime = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
try {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ToggleButton toggle = (ToggleButton) findViewById(R.id.toggleButton1);
final Chronometer chrono = (Chronometer) findViewById(R.id.chronometer1);
final ToggleButton toggle2 = (ToggleButton) findViewById(R.id.toggleButton2);
final Chronometer chrono2 = (Chronometer) findViewById(R.id.chronometer2);
toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
try {
Log.i("[chrono]", String.format("start:%d stop:%d delta: %d",start, stop, start - stop));
Log.i("[chrono]", "base:" +chrono.getBase());
Log.i("[chrono]", "elapsed time:" +SystemClock.elapsedRealtime());
if (isChecked) {
chrono.start();
start = SystemClock.elapsedRealtime();
chrono.setBase(start - totalPauseTime);
} else {
totalPauseTime += SystemClock.elapsedRealtime() - start;
chrono.stop();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
toggle2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
try {
Log.i("[chrono]", String.format("start:%d stop:%d delta: %d",start, stop, start - stop));
Log.i("[chrono]", "base:" +chrono.getBase());
Log.i("[chrono]", "elapsed time:" +SystemClock.elapsedRealtime());
if (isChecked) {
chrono2.start();
start = SystemClock.elapsedRealtime();
chrono2.setBase(start - totalPauseTime);
} else {
totalPauseTime += SystemClock.elapsedRealtime() - start;
chrono2.stop();
}
} catch (Exception e) {
enter code here
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }