上一篇文章如何开发一个新闻订阅APP之Android篇(一、实现仿微信主界面效果)
介绍了布板主界面的实现,接下来,我想和大家分享一下ListView的一些使用心得。
listview是客户端最最常见的组件之一,它以列表的形式展示一组数据。android对listview做了很好的优化,即使你的list被用来展现成千上万的数据,对于listview来说,只会生成少量的列表项,具体的数量会视你的屏幕可见区域长度和每一个列表项的高度而定。至于实现原理,这里推荐一篇ListView中convertView和ViewHolder的工作原理
一个简单的列表页面java代码实现需要如下:
一个listview
一个adapter
一组待展示数据
但是界面的设计是丰富多样的,通常一个listview可能会需要显示多种不同的格式。这里推荐直接继承BaseAdapter,因为稍微复杂一点的listview,继承BaseAdapter可以支持你自定义列表加载,显示等等细节实现;
特别注意的一点是,其实无论需要展示多少种类型的布局,你都可以在getView中,针对每条数据,生成不同格式的布局;那为什么android还要提供getViewTypeCount和getItemViewType这两个方法来让你在实现多种布局时必须重载呢?
最主要的原因是:配合getView参数中的convertView,重复利用已有的view布局&#