一接口多实现“事件分发”实现
来源:互联网 发布:网络时时彩代理违法吗 编辑:程序博客网 时间:2024/06/07 05:28
//
public class VoiceStateClient {
private static VoiceStateClient mClient;//该类单例化
public static VoiceStateClient getInstance() {
if (null == mClient) {
synchronized (VoiceStateClient.class) {
if (null == mClient) {
mClient = new VoiceStateClient();
}
}
}
return mClient;
}
//定义一个接口
public interface VoiceStateListener{void ReadHDSteate(boolean isHDState);
}
public static Set<VoiceStateListener> mStateListeners = new HashSet<VoiceStateListener>();
//每次调用该接口的时候,遍历分发事件,为防止不断添加导致内存泄漏,每次的分发都要清除掉以前的类
public void setHDStateListener(VoiceStateListener otgReadListener){LogUtils.d("====getClassGetName()",otgReadListener.getClass().getName());
Iterator iterator = mStateListeners.iterator();
while (iterator.hasNext()) {
VoiceStateListener listener = (VoiceStateListener)iterator.next();
if(listener instanceof DialFragment){//DialFragment 实现该接口的fragment,下面对应TestActivity ,mAdapter
iterator.remove();
}else if (listener instanceof TestActivity ) {
iterator.remove();
}else if (listener instanceof mAdapter) {
iterator.remove();
}
}
mStateListeners.add(otgReadListener);
}
}
//实现接口的类中调用,注册监听事件
mClient=SearchRecoderClient.getInstance();
mClient.setSRListener(this);
//在需要的地方调用的时候
for(VoiceStateListener mListener:VoiceStateClient.mStateListeners){
mListener.ReadHDSteate(volteState);
}
最后如果是一对一的接口实现就不需要使用hashset进行遍历分发了。直接处理即可。
阅读全文
0 0
- 一接口多实现“事件分发”实现
- 事件分发基本实现
- 事件与委托---实现事件分发中心
- 实现接口事件
- UGUI实现接口事件
- Eventbus是如何实现事件分发的
- Android_RxJava代替EventBus实现事件分发
- Android 事件分发一
- 事件分发机制(一)
- Android事件分发<一>
- 一、事件分发
- 实现接口事件,在接口中实现事件
- java实现多路分发
- java实现多路分发
- 事件和包含事件的接口实现
- Android View中触摸事件分发机制的实现
- Android事件分发学习应用-图片轮播实现
- epoll和input子系统实现input事件分发
- EJB到底是什么?
- height为auto,css3过渡动画问题
- eclipse 链接 mysql数据库
- PS
- Codeforces Round #425 (Div. 2) A. Sasha and Sticks
- 一接口多实现“事件分发”实现
- 欢迎使用CSDN-markdown编辑器
- laravel 发送邮件
- PHP中PDO函数的使用
- YII2.0的yii文件
- 算法题:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串“12345”,则输出整数“12345”
- 网络管理
- 重载operator<<操作符—friend ostream& operator<<(ostream&,const Date&);
- 一致性Hash算法背景