最近在做android的计时器,用Chronometer布局写的.用过Chronometer的同学应该知道它有一个bug那就是我们选择暂停后(即调用stop()方法)计时器其实只有文字不在更新,计时器本身还在后台运行着,所以当我们点击开始(即调用start()方法)时计时器会出现一个时间上的跳转.我是这么解决这个问题,首先在计时器暂停时获取当前显示的数字时间String
tiemTemp[]=chronometer.getText().toString().split(":");然后在调用start()方法前调用setBase()方法来设置计时器时间chronometer.setBase(SystemClock.elapsedRealtime()-temp*1000);下面是完整的代码
activity_main.xml文件
MainActivity.java文件
package com.example.chronometerdemo;
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Chronometer;
public class MainActivity extends Activity {
private Chronometer chronometer;
private long temp=0;
@Override
prote