安卓自定义定时器
来源:互联网 发布:淘宝安装工接单平台app 编辑:程序博客网 时间:2024/06/01 08:50
主要包括三个类:
超时提供者:TimerProvider
超时监听者:TimerListener
客户端调用:ConcreatListener
public class ConcreatListener implements TimerListener{ public void onTimeout(TimerProvider t){}}
public interface TimerListener{ /** * 超时时调用 * @param t * @see TimerProvider */ public void onTimeout(TimerProvider t);}
public class TimerProvider{ TimerListener listener; long time; String label; boolean active; InnerTimerST innerTimer; void init(long t_msec, String t_label, TimerListener t_listener) { listener = t_listener; time = t_msec; label = t_label; active = false; } public TimerProvider(long t_msec, String t_label, TimerListener t_listener) { init(t_msec, t_label, t_listener); } public String getLabel() { return label; } public long getTime() { return time; } public void halt() { active = false; listener = null; if (innerTimer != null) { innerTimer.cancel(); } } /** Starts the timer */ public void start() { active = true; innerTimer = new InnerTimerST(time, this); } /** When the Timeout fires */ public void onInnerTimeout() { if (active && listener != null) listener.onTimeout(this); listener = null; active = false; } public boolean isActive() { return active; }}class InnerTimerST extends java.util.TimerTask{ static java.util.Timer single_timer = new java.util.Timer(true); TimerProvider listener; public InnerTimerST(long timeout, TimerProvider listener) { this.listener = listener; single_timer.schedule(this, timeout); } public void run() { if (listener != null) { listener.onInnerTimeout(); listener = null; } }}
阅读全文
0 0
- 安卓自定义定时器
- 安卓定时器
- 安卓定时器
- 安卓java定时器
- 安卓中的定时器
- 安卓基础--定时器实现
- 自定义安卓控件
- 安卓----自定义控件
- 安卓自定义进度条
- 自定义安卓属性
- 安卓自定义控件
- 安卓自定义进度条
- 安卓自定义标题
- 安卓自定义控件
- 安卓自定义interpolator
- 安卓 自定义颜色
- 安卓自定义按钮
- 安卓自定义控件
- 在结构体最后定义一个长度为0的字符数组(技巧)
- PHP 7 新特性
- Mac安装thrift-0.10.0
- 前端框架这么多,该如何选择?
- 根据前序 中序 后序 构建二叉树
- 安卓自定义定时器
- struct和typedef struct 总结
- 敌兵布阵
- RStudio常用快捷键
- Spire.Doc 教程:从C#和VB.NET的word文档中删除形状
- tomcat7启动报错Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]
- 设计模式之单例模式
- 28事件
- mybatis的缓存机制(一级缓存二级缓存和刷新缓存)和mybatis整合ehcache