`

ListView优化:对象重用

阅读更多
Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。

public View getView(int position, View convertView, ViewGroup parent) {
  ViewHolder holder;
if (convertView == null) {
   convertView = mInflater.inflate(R.layout.list_item_icon_text, null);
   holder = new ViewHolder();
   holder.text = (TextView) convertView.findViewById(R.id.text);
   holder.icon = (ImageView) convertView.findViewById(R.id.icon);
   convertView.setTag(holder);// 使用tag保存对象
} else {
   holder = (ViewHolder) convertView.getTag();
}
   holder.text.setText(DATA[position]);
   holder.icon.setImageBitmap((position & 1) == 1 ? mIcon1 : mIcon2);
   return convertView;
}

static class ViewHolder {
    TextView text;
    ImageView icon;
}

也可以不使用ViewHolder, 将ListItem定义为自定义用户控件。
分享到:
评论

相关推荐

    安卓源码包android web应用OCR图像识别listview相关EditText输入框Launcher 桌面45个合集

    [四次元]listview 适配器 优化 重用.rar [四次元]ListView+CheckBox UI 完美版。实现 全选 、 全不选 、 删除等功能.rar [四次元]ListView停止滚动开启下载图片.zip [四次元]Listview分页加载数据.rar [四次元]...

    word源码java-Android-Interview-Gathered:Android-面试-集结

    word源码java Android相关 Activity和Fragment的生命周期 ...通过键值对的形式将对象储存在内存中,满了以后自动提出最不常用的对象) 磁盘缓存(使用DiskLurCache,数据库SQLite缓存,文件缓存) Android 屏幕适配

    Access+2000中文版高级编程

    9.4 利用Openargs和tab属性重用窗体执行标准任务 244 9.5 增强选项卡窗体的性能 254 9.6 小 结 256 第10章 用控件扩展窗体的功能 257 10.1 为窗体中的字段设置查阅属性 257 10.2 充分利用组合框 259 ...

    Access 2000中文版高级编程(part1)

    9.4 利用Openargs和tab属性重用窗体执行标准任务 244 9.5 增强选项卡窗体的性能 254 9.6 小 结 256 第10章 用控件扩展窗体的功能 257 10.1 为窗体中的字段设置查阅属性 257 10.2 充分利用组合框 259 10.2.1 ...

    asp.net知识库

    采用XHTML和CSS设计可重用可换肤的WEB站点 asp.net的网址重定向方法的比较:面向搜索引擎友好 也谈 ASP.NET 1.1 中 QueryString 的安全获取写法 ASP.NET运行模式:PageHandlerFactory 利用搜索引擎引用来高亮页面...

Global site tag (gtag.js) - Google Analytics