Android ListView与BaseAdapter的观察者模式实现

来源:互联网 发布:黑暗之魂1超低配优化 编辑:程序博客网 时间:2024/06/07 05:11

Android ListView与BaseAdapter的观察者模式实现:

1、BsaeAdapter持有被观察者的引用:

      private final DataSetObservablemDataSetObservable = new DataSetObservable();

      DataSetObservable继承了一个泛形的被观察者类

2、ListView 继承了AbsListView,而AbsListView 定义了观察者类,并持有观察者引用,而ListView setAdapter(ListAdapter adapter)方法里,adapter(mAdapter)注册了ListView对象的观察者类:

      mDataSetObserver = newAdapterDataSetObserver();

      mAdapter.registerDataSetObserver(mDataSetObserver);

3、接下来Adapter(被观察者)状态发生变化,便可通知观察者mDataSetObserver

附观察者模式UML图:



 

 

 


0 0
原创粉丝点击