CountDownTimer 是Google给提供的直接实现倒计时的类。使用方法
timer = new CountDownTimer(time,100) {//参数单位毫秒
@Override
public void onTick(long arg0) {
// TODO Auto-generated method stub
countdown.setText("结束"+arg0/1000+(arg0%1000)/100);/精确到0.1秒的倒计时
time = arg0;//剩余的时间记下来
}
@Override
public void onFinish() {
// TODO Auto-generated method stub
countdown.setText("结束了");
}
};
timer.start();
二、如果屏幕切换的时候保持继续倒计时状态。
定义key
private final static String key = "counttimekey";
保存剩余的时间
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
outState.putLong(key, time);
super.onSaveInstanceState(outState);
}
保存Timer对象
@Override
@Deprecated
public Object onRetainNonConfigurationInstance() {
// TODO Auto-generated method stub
return timer;
}
在onCreate方法中取消Timer,获得上次剩余时间
if(savedInstanceState!=null){
time = savedInstanceState.getLong(key);
timer = (CountDownTimer) getLastNonConfigurationInstance();
timer.cancel();
}