适配器
2013-12-01 00:00
141 查看
适配器:
顾名思义就是把一些数据给弄得适当,适合以便于在View上显示。可以看作是界面数据绑定的一种理解
不论是那种适配器模式,也不管是Listview也好还是gridview也好,对他们填充数据,都是分三步走。
第一:创建一个数据填充的对象,可以是ListView, GridView, Gallery。
第二步:创建一个数据填充器,可以是BaseAdpter、SimpleAdapter,也可以是与数据库相关联的CursorAdpter。 例如:SimpleAdapter可以使用系统封装好的,你也可以自己去继承一个Simpleadpter,来重写其中的方法。继承simpleadpter的好处在于,你可以对listitem中每个单一的控件设置监听事件等等一系列操作。
第三步:将数据填充到对象中去. listView.setAdapter(simpleAdapter );
优化
1
、如果自定义适配器,那么在
getView
方法中要考虑方法传进来的参数
contentView
是否为
null
,如果为
null
就创建
contentView
并返回,如果不为
null
则直接使用。在这个方法中尽可能少创建
view
。
2、给contentView设置tag(setTag()),传入一个viewHolder对象,用于缓存要显示的数据,可以达到图像数据异步加载的效果。
3、如果listview需要显示的item很多,就要考虑分页加载。比如一共要显示100条或者更多的时候,我们可以考虑先加载20条,等用户拉到列表底部的时候再去加载接下来的20条。
4、或者使用HashMap做缓存的方法:
顾名思义就是把一些数据给弄得适当,适合以便于在View上显示。可以看作是界面数据绑定的一种理解
不论是那种适配器模式,也不管是Listview也好还是gridview也好,对他们填充数据,都是分三步走。
第一:创建一个数据填充的对象,可以是ListView, GridView, Gallery。
第二步:创建一个数据填充器,可以是BaseAdpter、SimpleAdapter,也可以是与数据库相关联的CursorAdpter。 例如:SimpleAdapter可以使用系统封装好的,你也可以自己去继承一个Simpleadpter,来重写其中的方法。继承simpleadpter的好处在于,你可以对listitem中每个单一的控件设置监听事件等等一系列操作。
第三步:将数据填充到对象中去. listView.setAdapter(simpleAdapter );
优化
1
、如果自定义适配器,那么在
getView
方法中要考虑方法传进来的参数
contentView
是否为
null
,如果为
null
就创建
contentView
并返回,如果不为
null
则直接使用。在这个方法中尽可能少创建
view
。
2、给contentView设置tag(setTag()),传入一个viewHolder对象,用于缓存要显示的数据,可以达到图像数据异步加载的效果。
3、如果listview需要显示的item很多,就要考虑分页加载。比如一共要显示100条或者更多的时候,我们可以考虑先加载20条,等用户拉到列表底部的时候再去加载接下来的20条。
4、或者使用HashMap做缓存的方法:
相关文章推荐
- 打造ViewPager的通用适配器CommonPagerAdapter
- 在适配器中点击监听给activity中的控件赋值,采用接口回调的方式
- Android 常用适配器总结
- 万能适配器
- 监控Cassandra性能的两种简单方法-jolokia和MX4J HTTP适配器
- 适配器总结
- 【C++ STL应用与实现】18: 怎样使用迭代器适配器
- android ViewPager三种适配器
- listview<一> 自定义适配器
- RecyclerView 万能适配器的抽取
- <mvc:annotation-driven/>的作用,配置Springmvc中的适配器和映射器
- 容器适配器
- BaseAdapter 适配器模板
- C++容器-4容器适配器stack、queue、priority_queue
- 设计模式之适配器设计
- C++容器适配器
- 安卓多条目加载专用布局 与多条目加载的专用适配器
- oracle cmd窗口输入sqlplus / as sysdba 报协议适配器错误 解决方案
- Android Recyclerview适配器 加载头部 以及自定义View
- C++容器----容器适配器