使用Handler实现定时器
16lz
2021-01-23
总觉得使用Android定时器非常麻烦,其实使用Handler可以实现一个定时器(在主线程中):
class Timer { public interface OnTimeroutListener { void onTimeout(Timer timer); } private static final int TIMER_MSG_ID = 1; private OnTimeroutListener mListener; private mHandler = new Handler() { @Overwrite public void handlerMessage(Message msg) { switch (msg.what) { case TIMER_MSG_ID: mListener.onTimeout(Timer.this); break; } } } public Timer(OnTimeroutListener l) { mListener = l; } public void startTimer(int interval) { Message msg = new Message(); msg.what = interval; mHandler.sendMessageDelayed(msg, interval); } public void cancelTimer() { mHandler.removeMessages(TIMER_MSG_ID); }}
更多相关文章
- android定时器实现
- Android/Linux 的时间和定时器
- Android之子线程更新主线程
- android 判断当前线程是不是主线程的几种方法
- [Android] 任意时刻从子线程切换到主线程的实现原理及加强版
- android 三种定时器的写法