观察者模式示例_JAVA

①监听列表

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】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值