从零开始打造一个新闻订阅APP之Android篇(二、从“逛”页面谈谈多种格式listview的实现细节)

本文是Android新闻订阅APP开发系列的第二篇,重点探讨ListView的使用,包括ListView的优化机制,如convertView和ViewHolder的作用,以及如何处理多种格式的布局。通过示例解释了如何在getView中根据数据类型生成不同布局,同时强调了控制内存开销在显示大量图片时的重要性。下篇将介绍图片加载的实现细节。
摘要由CSDN通过智能技术生成

上一篇文章如何开发一个新闻订阅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布局&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值