[置顶]Android中Listview展示及其优化好处
2016-07-27 22:37
591 查看
展示效果:
中间的item条目是可以上下滑动的。
代码实现:
1 @Override 2 public View getView(int position, View convertView, ViewGroup parent) { 3 4 ViewHolder holder; 5 if (convertView == null) { 6 convertView = View.inflate(CleanCacheActivity.this, 7 R.layout.list_item_cacheinfo, null); 8 holder = new ViewHolder(); 9 10 holder.tvName = (TextView) convertView 11 .findViewById(R.id.tv_name); 12 holder.tvCache = (TextView) convertView 13 .findViewById(R.id.tv_cache); 14 holder.ivIcon = (ImageView) convertView 15 .findViewById(R.id.iv_icon); 16 holder.ivClean = (ImageView) convertView 17 .findViewById(R.id.iv_clean); 18 19 convertView.setTag(holder); 20 } else { 21 holder = (ViewHolder) convertView.getTag(); 22 } 23 final CacheInfo info = getItem(position); 24 holder.tvName.setText(info.name); 25 holder.ivIcon.setImageDrawable(info.icon); 26 //...... 27 return convertView; 28 }
1 // listview 属性封装 2 class ViewHolder { 3 public TextView tvName; 4 public TextView tvCache; 5 public ImageView ivIcon; 6 public ImageView ivClean; 7 } 8 9 // 缓存信息封装 10 class CacheInfo { 11 public String name; 12 public String packageName; 13 public Drawable icon; 14 public long cacheSize; 15 }
优化特点:
1.
减少findViewById的次数
2.
减少创建对象的次数(holder = new ViewHolder();)
3.
实现分页加载,节省消耗。
相关文章推荐
- [置顶]android 四大组件之---Service
- Android 对对话框进行监听
- Android自定义搜索时的关键字气泡动画-原理详解
- Android Studio中关联SVN进行版本控制(二)从已有的SVN库中checkout代码到AS(本地)中
- ViewPager无限循环滑动无卡顿,详解OnPageChangeListener
- 提升Android Studio的Gradle构建速度
- Android项目配置gitignore 的方法
- Android Studio中获取SHA1或MD5的方法
- [置顶] Android带你实现门票布局效果
- Android 属性动画(Property Animation) 完全解析 (下)
- Android 属性动画(Property Animation) 完全解析 (上)
- 设置Button背景色与点击涟漪颜色(5.0+)
- Android Zxing二维码扫描图片拉伸、扫描框过小、扫描框扩大后(或不拉伸后)闪退问题
- 分享一篇Android自定义Toast的文章——很简单哦
- Android中的Context
- 【Android界面实现】实现底部扇形展开菜单效果
- Android事件传递机制-View篇
- android开发—如何获取内部储存中的文件路径
- Android 热修复三部曲之基本的Ant打包脚本
- bmob实现短信验证功能