如何在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();
            }
    }       }