Android当中的设计模式观察者模式

13 篇文章 0 订阅

在ListAdapter当中需要实现一个3个方法,baseAdapter是这样实现的

    public void registerDataSetObserver(DataSetObserver observer) {
        mDataSetObservable.registerObserver(observer);
    }

    public void unregisterDataSetObserver(DataSetObserver observer) {
        mDataSetObservable.unregisterObserver(observer);
    }
    public void notifyDataSetChanged() {
        mDataSetObservable.notifyChanged();
    }

这让我们很容易联想到观察者或者叫坚挺着模式。这是一种什么模式呢:

mDataSetObservable就是一个存储所有观察者的数据集合,用于监听适配器当中数据的变化

public class DataSetObservable extends Observable<DataSetObserver>

Obeserveable是一个抽象类。

public abstract class Observable<T>

观察者观察数据的变化,来进行相应的操作,需要继承DataSetObserver类,

当数据变化的时候,这两个函数将会被调用

    public void onChanged() {
        // Do nothing
    }

 
    public void onInvalidated() {
        // Do nothing
    }
而这实现的原理在于,DataSetObservable类当中,notifyChanged和notifyInvalidated中,调用了每一个观察者的onChange()和onInvalidated()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值