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

原创 2015年07月08日 15:06:08

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图:



 

 

 


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android进阶系列--源码分析观察者模式在ListView的运用

源码是谷歌攻城狮的精髓,我们要向他们学习,提高自己,只能翱翔于源码的海洋,才能明白谷歌攻城狮的强大。观察者在我们开发过程中使用的是相当的多,那么在源码层就使用的更多了。之前有做过观察者模式的学习笔记。...

Android设计模式源码解析之ListView观察者模式

深入分析观察者模式以及观察者模式在Andriod中的运用。本文来自SAOS开源项目组。

设计模式(二)重温观察者模式:随便窥探一波BaseAdapter源码

今天在看rxJava的时候发现又是使用的观察者模式,这个模式在android开发里面使用频率挺高的,思想是知道的,还是觉得按照自己的理解用代码再写一遍加深一下认识比较好 不单是rxJava,Event...

android中使用BaseAdapter的实现灵活扩展的ListView列表

重点:        1、使用布局文件(xml)定义ListView中项的显示样式        2、使用BaseAdapter实现对ListView 列表项的细节控制。 文件:     ...
  • atlim
  • atlim
  • 2013-07-27 21:01
  • 609

Android实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter

其实实现ListView过滤功能最方便的便是使用ArrayAdapter,里面自带的getFilter()方法能很方便的实现此功能,但是在实际的开发中,一般都是继承于BaseAdapter。还有一种是...

Android 实现json网络数据通过BaseAdapter加载到ListView中

json数据解析,ListView加载网络数据,BaseAdapter

Android开发-UI控件:实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter。

其实实现ListView过滤功能最方便的便是使用ArrayAdapter,里面自带的getFilter()方法能很方便的实现此功能,但是在实际的开发中,一般都是继承于BaseAdapter。还有一种是...

android通过BaseAdapter实现ListView侧滑菜单

首先是重写了一个HorizontalScrollView 作为主要滑动控件, 然后是在MyBaseAdapter中 将这个自定义的ScrollView设置为根控件 在MyBaseAdapter 和...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)