您的位置:首页 > 其它

自学笔记:计时器Chronometer

2013-05-21 22:49 375 查看
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()+"");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  计时器 Chronometer