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



 

 

 


ListView BaseAdapter中的观察者模式

Android SDK源码中用到了很多开发模式,其中BaseAdapter就属于观察者模式 public abstract class BaseAdapter implements List...

Android ListView观察者模式浅析

观察者的终极图:   核心:就是被观察者中持有观察的引用,可以在必要的时候进行调用观察者的方法进行通知它; 1. 观察者模式  定义对象间的一种一个(Subject)对多(Observer)...

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

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

【进阶android】ListView源码分析——适配器及观察者模式

在日常的编码习惯中,在初始化ListView实例,或者从布局文件之中引用了一个ListView实例之后,我们通常接着干的事儿,便是调用ListView的setAdapter方法,给当前ListView...

仿写BaseAdapter而想到的观察者模式-----思考

仿写BaseAdapter而想到的观察者模式以及思考最近在读一篇博客的时候,博客地址(强烈建议先阅读该篇博客再看此博客)看到这个哥们写的代码不太像我们平时用的adapter,我想,既然它都定义成ada...
  • wzlyd1
  • wzlyd1
  • 2016年03月31日 17:21
  • 624

Android观察者模式简单实现Demo

  • 2016年02月17日 23:52
  • 1.22MB
  • 下载

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

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

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

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

【Android】使用BaseAdapter实现复杂的ListView

使用BaseAdapter实现复杂的ListView的步骤: 1. 数据你要准备好 List getData()。 2. 继承ListActivity专有屏,不再需要setContentView(xx...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android ListView与BaseAdapter的观察者模式实现
举报原因:
原因补充:

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