关闭

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

188人阅读 评论(0) 收藏 举报

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:327次
    • 积分:23
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档