①监听列表
private ArrayList<HandLinkStateListener> mListeners;
②注册和取消注册监听
【监听列表中添加监听对象】
public void registerListener(HandLinkStateListener listener) {
if (!mListeners.contains(listener) && listener != null){
mListeners.add(listener);
}
}
【把对应的监听对象从监听列表中移除】
public void unRegisterListener(HandLinkStateListener listener) {
if (mListeners != null && listener != null && mListeners.contains(listener)) {
mListeners.remove(listener);
}
}
③发起监听的对象,监听数据变化响应接口
public interface HandLinkStateListener {
void onStateChanged(int state);
}
④获取数据变化,执行响应
public void DataChange(int eventType, int eventValue) {...
//判断对对应eventType遍历监听列表mListeners,执行响应函数
for (HandLinkStateListener handLinkStateListener : mListeners) {
handLinkStateListener.onStateChanged(eventValue);}
↑↑↑【bgcz】
①实例化,implements实现数据响应接口中的所有抽象方法
public class MyActivity extends Activity implements MyHandler.HandLinkStateListener
②重写响应函数
@Override
public void onStateChanged(int state) {...}
③注册监听
protected void onCreate(@Nullable Bundle savedInstanceState) {
...
MyHandler.getInstance(this).registerListener(this);
④取消注册
protected void onDestroy() {
...
MyHandler.getInstance(this).unRegisterListener(this);
↑↑↑【gcz】