一个简单的定时器功能,有一个对外的接口让外部调用,
public class TimerHelper {
private String TAG = "TollTimerHelper";
private OnTimerListener helperListener;
private int mSchedule = 0;
private Timer mTimer;
public TollTimerHelper() {
}
/**
* 回到UI线程
*/
@SuppressLint("HandlerLeak")
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
mSchedule = msg.what;
helperListener.onSchedule(mSchedule);
}
};
/**
* 开始定时
*/
public void startTiming() {
mTimer = new Timer();
mTimer.schedule(new TimerTask() {
@Override
public void run() {
mSchedule++;
handler.sendEmptyMessage(mSchedule);
}
}, 0, 1000);
}
/**
* 定时器销毁
*/
public void onTimerCancel() {
if (mTimer != null) {
mTimer.cancel();
mTimer = null;
}
}
/**
* 时间清零
* @param schedule
*/
public void setSchedule(int schedule) {
this.mSchedule = schedule;
}
public void setOnTimerListener(OnTimerListener helperListener) {
this.helperListener = helperListener;
}
public interface OnTimerListener {
void onSchedule(int schedule);
}
}