最近做个项目,要用到异步加载,动态刷新UI等。看了下2.2系统的图库源码,感觉写的不错。同时又把ListView拿出来研究了下,做个笔记。
先上图:
1. Android中大量用到了适配器模式,比如ListView、GridView等。
所谓的适配器模式,我的理解是类似电源适配器或者转接头之类的转换器。
电源适配器将不适合机器工作的电压输出为机器适合的电压。转接头就更好理解了,将不配套的插头和插座连接在一起。适配器模式跟这个类似,将两个不相干的类作用在一起,使它们能配套适用。
Android里面的适配器结构基本如上图所示。还有其他的各种适配器类如SimpleAdapter,SimpleCursorAdapter等都是直接或间接地继承BaseAdapter。我们自定义ListView时所用到的Adapter同样要继承BaseAdapter必须实现几个方法:getCount(),getItem(int position),getItemId(int position),getView(int
position, View convertView, ViewGroupparent)
为什么会这样呢?
注意到Spinnerdapter和ListAdapter都是接口,它们继承了Adapter接口。而BaseAdapter是一个抽象类,它实现上述两个接口,但它并没有实现上面提到的那四个方法。所以构建BaseAdapter的子类时必须要实现那四个没有实现的四个接口方法。其实在Android中有很多这样的例子,在继承某个类时会默认让你Override一些方法,这些方法就是父类中没有实现的接口方法。
重写了这四个方法后适配器才能够和控件合作,将数据和控件UI联系起来。
分享到:
相关推荐
采用ListView控件加自定义适配器实现listview列表控件,代码简单,逻辑清楚,可扩展性强,并且解决了OOM,亲测绝对可以使用
android自定义listview使用方法 提供一般listview 带图片的listview 带按钮的listview listview学习的好Demo
Android 自定义ListView,分别实现下拉刷新的ListView及上拉加载的ListView 详情可以参考我的博客 http://blog.csdn.net/sunshanai/article/details/51622917
适合学习listView 和自定义适配器朋友使用。 有点击item 触发传值. 标题一》》》》》内容一 标题二》》》》》内容二 可以实现这种点击这种效果
简单的listview自定义适配器的使用方法,注释很清晰,也有对应的博文介绍
android 自定义listview分组显示本地json格式数据,主要是listview可以自定义成下拉刷新(此demo不包含上下拉,应用者自己完善),组头和组所属的数据的item点击事件是分开的
Android自定义adapter的listview代码
Android 自定义ListView + Gallery 组合
Android自定义ListView,ListView中的图片从服务端获取
Android listview 常用适配器BaseAdapter
android listView 适配器demo
安卓listview万能适配器,所有需要用到适配器的地方,都可以用这个适配器~
Android 自定义ListView 4种加载动画, 左边飞入,旋转,从上飞入,透明度
直接两个listView 布局文件,数据直接输入,获得 嵌套ListView 的适配效果
Android ListView 万能适配器,适用于所有的ListView列表。
Android中尝试气泡短信编程初探实例 ListView使用SimpleAdapter适配器详解 具体参考小魏博客:http://blog.csdn.net/xiaowei_cqu/article/details/7045497
个人学习整理demo,分享出来和大家一起学习。
Android自定义ListView示意-XListView 可自定义布局的ListView
Android 自定义ListView实现底部分页刷新与顶部下拉刷新 一.ListView 底部分页加载 整个底部分页加载,主要分一下几步: 1.加载底部自定义View; 2.响应OnScrollListener监听事件,onScroll方法记录最后可见的View ...