博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android listview viewholder
阅读量:6939 次
发布时间:2019-06-27

本文共 1418 字,大约阅读时间需要 4 分钟。

hot3.png

Android ListView ViewHolder

利用adapter中的getView的 contentView 的复用机制进行优化。

listview的原理

listView,初始化的时候就会使用inflater来渲染这些view(这些是耗费资源的操作), 如果没有优化,每次都会执行这个inflater来渲染。

优化的原理

创建一个静态类ViewHolder,如果contentView不为空,我们可以通过设置contentView的Tag来保存ViewHolder,不用再 每次去inflater。

demo

static class ViewHolder {        public TextView deviceName;    }    private class TAdapter extends BaseAdapter{        @Override        public int getCount() {            return beanList.size();        }        @Override        public Object getItem(int position) {            return beanList.get(position);        }        @Override        public long getItemId(int position) {            return position;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            ViewHolder viewHolder;            if(convertView == null){                convertView = getActivity().getLayoutInflater().inflater(R.layou.layout_list,parent,false);                viewHolder = new ViewHolder();                viewHolder.deviceName = (TextView)convertView.findViewById(R.id.device_name);                convertView.setTag(viewHolder);//在这里保存在converView中            }else{                viewHolder = (ViewHolder)convertView.getTag();            }            viewHolder.deviceName.setText(beanList.get(position).getText();            return convertView;        }    }

转载于:https://my.oschina.net/u/3136970/blog/1844238

你可能感兴趣的文章
2015.10.10信息系统项目管理师作业
查看>>
我的友情链接
查看>>
Java8-Stream-终止操作-归约与收集
查看>>
NOSQL分类
查看>>
VUE学习遇到的问题及解决方法(一)
查看>>
Python中lambda的用法
查看>>
E036-rpmdb open failed
查看>>
基于结构化平均感知机的分词器Java实现
查看>>
IPFS是什么?
查看>>
机器学习:从入门到晋级
查看>>
安卓constraintLayout中app:srcCompat设置的图片显示不出来
查看>>
nginx 安装在ubuntu上
查看>>
iOS地图选址
查看>>
Shpinx在PHPCMS里的使用及配置
查看>>
Linux Oracle Rac 10G 搭建& Patch
查看>>
Apache与Nginx网络模型对比
查看>>
Java 二重循环实现对象去重
查看>>
[Unity3d]socket通信 切换到web版本时报错SecurityException解决办法
查看>>
修改windows service的启动类型
查看>>
快速构建Windows 8风格应用9-竖直视图
查看>>