Timer定时器工具类

一个简单的定时器功能,有一个对外的接口让外部调用,

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);
    }
}

猜你喜欢

转载自blog.csdn.net/sinat_32089827/article/details/79149869