public class MainActivity extends Activity implements OnClickListener
{
    /**
     * 待完善
     */
     
    private Chronometer chronometer = null;
    private long temp;
    private boolean isrestart;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        chronometer  = (Chronometer) findViewById(R.id.chronometer1);
        findViewById(R.id.button1).setOnClickListener(this);
        findViewById(R.id.button2).setOnClickListener(this);
        findViewById(R.id.button3).setOnClickListener(this);
        findViewById(R.id.button4).setOnClickListener(this);
        findViewById(R.id.button5).setOnClickListener(this);
    }
      
    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    @Override
    public void onClick(View v)
    {
        switch (v.getId())
        {
            case R.id.button1:
                btnStartClock();
                break;
            case R.id.button2:
                btnStopClock();
                break;
            case R.id.button3:
                btnResetClock();
                break;
            case R.id.button4:
                btnSetformat();
                break;
            case R.id.button5:
                btnClearformat();
                break;
            default:
                break;
        }
    }
    private void btnClearformat()//清除格式
    {
        chronometer.setFormat(null); 
    }
    private void btnSetformat()//设置格式
    {
        chronometer.setFormat("计时:%s");  //设置计时格式,第一个%s将被hh:mm:ss或者mm:ss代替
    }
    private void btnResetClock()//重置时间
    {
        isrestart = true;
        chronometer.setBase(SystemClock.elapsedRealtime());//设置计时基准时间
        Log.e("setBase", SystemClock.elapsedRealtime()+"");
    }
    private void btnStopClock()//停止计时
    {
        chronometer.stop();
          
        //记住停止时间
        temp = Long.parseLong(chronometer.getText().toString().split(":")[1]) * 1000 +
                Long.parseLong(chronometer.getText().toString().split(":")[0]) * 60000;
        //chronometer.getBase();
        Log.e("getBase", chronometer.getBase()+"");
        Log.e("getBase", temp+"");
    }
    private void btnStartClock()//开始计时
    {
        chronometer.setBase(SystemClock.elapsedRealtime()-temp);//从上次停止时间开始计时
        chronometer.start();
        Log.e("getBase", chronometer.getBase()+"");
    }
      
}