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()+"");
}
}
转载于:https://blog.51cto.com/glblong/1206325