设为首页 加入收藏

TOP

看源码之Adapter和AdapterView之间的关系
2015-02-25 22:43:55 来源: 作者: 【 】 浏览:26
Tags:源码 Adapter AdapterView 之间 关系

Adapter其实是个接口,并不是一个具体的类。它的主要最用就是作为一个AdapterView和Model间的桥梁,这一点在源码中有很清楚的定义:


getView()是Adapter非常重要的函数之一,这个函数的主要作用就根据在"列表"中位置的不同而展示不同的数据。具体可详见该方法的源码注释,上面已写的非常清楚了。
另一个就是registerDataSetObserver()和unregisterDataSetObserver(),好吧,应该是一对,这其实就是典型的一个观察者的设计模式,如果Adapter中需要加载的数据发生了变化,则我们就是通知Adapter来更新数据。当然,我们一般在项目中使用的是notifyDataSetChanged()方法,这是因为BaseAdapter不仅继承了Adapter,而且还对其中的一些方法进行封装,这其中就包括了DataSetObservable的notifyChanged()方法,源码如下:


AdapterView也是一个抽象类,例如AbListView等都是继承它而来。AdapterView中主要是一些监听器的设定,如:


Item 长按监听器


Item 点击监听器
public interface OnItemClickListener {


还有最常用且基本的等方法,如:


虽然AdapterView只是一个抽象类,但是其中的"干货"确实不是少,有着许多非常有用但是不常用的方法,如:


顾名思义这是一个可以实现自动点击Item的方法,当你需要时直接使用可以省去不少的功夫。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇探究Android中Listview显示错乱问.. 下一篇探究Android ListView 的缓存机制

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: