以前寫倒計時都是用的Timer、TimerTask組合使用,現在Android SDK中自帶有個工具類CountDownTimer可以替代,使用起來挺友善的。
/**
* 每隔一秒鐘執行一次,總共5分鐘
*/
private CountDownTimer mTimer = new CountDownTimer(5*60*1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
// 每隔一秒調用一次,剩餘多少時間
sunshineTimeBtn.setText(TimeUtils.millisToTime(millisUntilFinished, TimeUtils.DateFormat.MMSS));
}
@Override
public void onFinish() {
// 執行完畢
sunshineTimeBtn.setText(R.string.get);
sunshineImage.setImageResource(R.mipmap.icon_sun_shine);
}
};
開啟任務
mTimer.start();
結束後需要關閉任務
mTimer.cancel();
mTimer = null;