(转)ListView BaseAdapter中的观察者模式
来源:互联网 发布:网络摄像机检测报告 编辑:程序博客网 时间:2024/06/07 01:25
原地址:http://blog.csdn.net/fancylovejava/article/details/49947697
Android SDK源码中用到了很多开发模式,其中BaseAdapter就属于观察者模式
中有DataSetObservable可被观察到的对象即被观察对象,这个对象将观察者对象加入到自己的观察者对象集中
每次改变ListView的数据的时候,需要notifyDataSetChanged,这个实现是 mDataSetObservable.notifyChanged();
被观察者对象调用方法
然后观察者对象在onChanged方法中去处理。
还有个问题,registerDataSetObserver(DataSetObserver observer)什么时候被调用的
看源码发现原来是在ListView的setAdapter方法中调用的
看到里面初始化了一个对象AdapterDataSetObserver,这个对象在AbsListView里的内部类
实现了具体的onChanged方法,好了,基本理清楚Adapter里面怎么通知更新数据了。
但是上面有个FastScroller对象,这个类找了半天没找到在哪,在GC上搜说在android.widget包下,但是并没有。
有知道是为什么得吗?麻烦请教一下!
最后补充看RecycleView的源码,里面也是观察者模式,但是整体感觉RecycleView比ListView更好!有空可以学习学习
0 0
- (转)ListView BaseAdapter中的观察者模式
- ListView BaseAdapter中的观察者模式
- ListView中的观察者模式
- ListView中的观察者模式
- ListView中的观察者模式
- ListView中的观察者模式
- Android ListView与BaseAdapter的观察者模式实现
- (转)设计模式之观察者模式在ListView中的应用
- ListView中的BaseAdapter用法
- 设计模式之观察者模式在Listview中的应用
- BaseAdapter在listView中的使用
- 在BaseAdapter源码中了解观察者模式
- 最熟悉的陌生人:ListView 中的观察者模式
- 最熟悉的陌生人:ListView 中的观察者模式
- 第十四篇: 最熟悉的陌生人:ListView 中的观察者模式
- ListView中的SimpleAdapter和BaseAdapter使用
- BaseAdapter-ListView中的item显示多种布局
- Android ListView观察者模式浅析
- POJ 1088 滑雪
- Linux运维笔记-课后作业-tar打包操作和rsync同步命令
- java文件操作之Path,Paths,Files
- 模型评估与选择-----第三部分
- 【java小白成长记】controller的一点心得
- (转)ListView BaseAdapter中的观察者模式
- jupyter报错"ImportError: No module named shutil_get_terminal_size"
- ZOJ2969
- Android 按钮的四种点击事件
- MSP430F149嵌入式系统中FLASH K9F1G08U0M的应用
- 逻辑门
- unit10 日志同步
- 阿里云服务器ssh经常一段时间就断掉解决办法
- Linux下的简单进度条实现