基础篇(十二) AdapterView和Adapter(适配器)

来源:互联网 发布:源码大师官网 编辑:程序博客网 时间:2024/05/29 02:49

一、AdapterView和Adapter的关系

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的布局,使用扁平化的布局代替嵌套层级太多的布局


0 0
原创粉丝点击