基础篇(十二) AdapterView和Adapter(适配器)
2015-11-28 21:00
253 查看
一、AdapterView和Adapter的关系
AdapterView是在程序运行时动态生成的视图。
Adapter完成视图组件与数据的合成,并将合成的视图组件返回给AdapterView。
1、AdapterView:
2、Adapter:
二、Adapter优化
1、利用Item组件重用机制,重复利用缓存的Item组件,避免频繁创建新Item组件对象。(缓存的Item利用convertView参数传入getView方法)
2.使用ViewHolder缓存Item组件包含的子组件,避免频繁解析xml文件,频繁创建Item里的子组件对象。
3.优化convertView的布局,使用扁平化的布局代替嵌套层级太多的布局
AdapterView是在程序运行时动态生成的视图。
Adapter完成视图组件与数据的合成,并将合成的视图组件返回给AdapterView。
1、AdapterView:
2、Adapter:
二、Adapter优化
1、利用Item组件重用机制,重复利用缓存的Item组件,避免频繁创建新Item组件对象。(缓存的Item利用convertView参数传入getView方法)
2.使用ViewHolder缓存Item组件包含的子组件,避免频繁解析xml文件,频繁创建Item里的子组件对象。
static class ViewHolder { TextView text; ImageView image; }
public View getView(int pos, View convertView, ViewGroup parent){ ViewHolder holder; if (convertView == null) { convertView = mInflater.inflate(R.layout.list_item, null); holder = new ViewHolder(); holder.text = (TextView) convertView.findViewById(R.id.text)); holder.image = (ImageView) convertView.findViewButId(R.id.image)); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.text.setText(TEXT[pos]); holder.image.setImageBitmap((IMAGE[pos] ); return convertView; }
3.优化convertView的布局,使用扁平化的布局代替嵌套层级太多的布局
相关文章推荐
- LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
- 基于Python的机器学习实战:Apriori
- WHMCS 6 如何修改导航条菜单(主菜单)
- Java之统计字符串频率
- ERROR: While executing gem ... (Errno::EPERM)
- iis express启动临时站点
- 左边固定 右边自适应
- 罗密欧与朱丽叶迷宫问题
- ffplay for mfc 代码备忘
- 可持久化线段树笔记
- 384A. Coder
- 笔记整理
- 开源实时视频码流分析软件:VideoEye
- 1023. 组个最小数 (20)
- Comparable接口与Comparator
- 树莓派无线网卡选择
- qt iOS app 如何获取共享文件夹文件,如何使用document文档目录文件
- C++为什么要引入异常处理机制
- 初学实体框架EF(Entity Framework)
- C++为什么要引入异常处理机制