android计时器从最后一站开始

时间:2015-04-23 12:11:28

标签: android chronometer

虽然有关于此问题的回答问题,但没有一个真正回答以下问题: 我希望android计时器从最后一站开始,而不是继续计算时间。 我尝试以下方法,但它不起作用: - (

public class MainActivity extends ActionBarActivity {
  long stopTime = 0;

  public void startChronometer(View view) {
    long elapsedTime = SystemClock.elapsedRealtime() - stopTime;
    ((Chronometer) findViewById(R.id.mycrono)).setBase(elapsedTime);
    ((Chronometer) findViewById(R.id.mycrono)).start();
  }
  public void stopChronometer(View view) {
    stopTime = findViewById(R.id.mycrono).getBaseline();
    ((Chronometer) findViewById(R.id.mycrono)).stop();
  }

  ............. // standard android methods

结果疯狂的数字......

2 个答案:

答案 0 :(得分:0)

我正在使用天文台从上一次l3开始,这是第二次

chronometer.setBase(SystemClock.elapsedRealtime()
                            - (0 * 60000 + l3 * 1000));
                    chronometer.start();

答案 1 :(得分:0)

这对我有用。我有3个按钮(开始,暂停,停止)。

    private var stopTime : Long = 0


    /*Put this in your method, where you want to handle the buttons. 
      I worked with FloatingActionsButtons*/

    fab_start.setOnClickListener {
            chronometer.base = SystemClock.elapsedRealtime() + stopTime
            chronometer.start()
        }
    fab_pause.setOnClickListener {
            stopTime = chronometer.base - SystemClock.elapsedRealtime()
            chronometer.stop()
        }
    fab_stop.setOnClickListener {
            chronometer.base = SystemClock.elapsedRealtime()
            stopTime = 0
            chronometer.stop()
        }