/**
* Handler 相关工具类
*/
public class HandlerUtil {
private static Handler mHandler;
private static List<OnReceiveMessageListener> mReceiveMsgListenerList;
private HandlerUtil() {
init();
}
public static HandlerUtil getInstance() {
return HandlerUtilHolder.INSTANCE;
}
private static final class HandlerUtilHolder {
private static final HandlerUtil INSTANCE = new HandlerUtil();
}
private void init() {
if (mReceiveMsgListenerList == null)
mReceiveMsgListenerList = new ArrayList<OnReceiveMessageListener>();
if (mHandler == null) {
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (mReceiveMsgListenerList != null && mReceiveMsgListenerList.size() > 0) {
for (OnReceiveMessageListener listener : mReceiveMsgListenerList) {
listener.handlerMessage(msg);
}
}
}
};
}
}
/**
* 注册 Handler
*
* @param listener 收到消息回调接口
*/
public void register(OnReceiveMessageListener listener) {
init();
mReceiveMsgListenerList.add(listener);
}
/**
* 取消注册 Handler
*
* @param index 收到消息回调接口的下标
*/
public void unregister(int index) {
if (mReceiveMsgListenerList != null
&& index >= 0 && index < mReceiveMsgListenerList.size()) {
mReceiveMsgListenerList.remove(index);
}
}
/**
* 取消注册 Handler
*
* @param listener 收到消息回调接口
*/
public void unregister(OnReceiveMessageListener listener) {
if (mReceiveMsgListenerList != null && listener != null) {
mReceiveMsgListenerList.remove(listener);
}
}
/**
* 获取 Handler 对象
*
* @return
*/
public Handler getHandler() {
return mHandler;
}
/**
* 获取所有事件
*
* @return 事件列表
*/
public List<OnReceiveMessageListener> getReceiveMsgListenerList() {
return mReceiveMsgListenerList;
}
/**
* 清除所有事件
*/
public void clear() {
if (mReceiveMsgListenerList != null && mReceiveMsgListenerList.size() > 0) {
mReceiveMsgListenerList.clear();
}
}
/**
* 收到消息回调接口
*/
public interface OnReceiveMessageListener {
void handlerMessage(Message msg);
}
}
Handler 相关工具类
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- ProcessOn 在线UML、流程图绘制工具 上次我用自己的话,把Handler相关分析了一下(详见 "这次我终...
- (1)配置网络相关权限 (2)判断网络是否连接 这里只需要注意一点,isAvailable方法已经过时了,所以就不...