1 效果
效果图如下:
2 思路
针对以上效果我整理了一下思路:
3 优化
这个时候,我们还可以对ListView进行优化,以提升ListView的运行效率。
- 由于convertView会将之前加载好的布局进行缓存,
- 若为空,则借助LayoutInflater加载子项布局。
- 若不为空,则直接拿来重用即可,不必每次都加载;
- 创建一个内部类ViewHolder,用于对控件实例进行缓存:通过View的setTag()方法将ViewHolder存储在View当中。
- 若convertView为空,则需要通过findViewById来获取控件实例;
- 若不为空,则直接通过View的getTag()方法将ViewHolder拿过来复用即可。