繁体   English   中英

为每个列表项创建自定义视图的最佳方法

[英]Best way to create a custom view for every list item

当我审查和制作我的android项目原型时,我注意到有一个视图具有非常定制的项目列表。 我已经弄清楚了我计划使用的大多数工具,但是我需要一些建议。

我有一个项目列表,其中可以包含照片,右边的一些文本,底部的图像以及其下的更多文本。 我很困惑。 每个项目可能都存在。 标题将永远存在。

所以我的问题是-创建每个自定义列表项视图的最佳方法是什么? 我在想我必须使用此getView来创建每个视图。 但是在创建每个视图时,最好是1)动态创建视图并添加图像(例如,如果图像存在的话),或2)创建包含所有可能元素的xml文件并根据项目隐藏它们?

就性能而言,#2更好,因为您将能够将ListView给出的convertView作为getView()参数重用到适配器。 为了允许ListView平滑滚动,您必须避免在getView()调用期间创建任何View。

您可以从《开发人员指南》中的此示例中找到getView()的高效实现。 有两个要点:

  • 在可用时重用convertView
  • 使用附加到View的ViewHolder避免每次调用getView()时都不必再次查找子视图

我会选择#2。 您可以使用所有项目进行xml布局,然后编写列表适配器,在其中可以根据需要隐藏和显示项目。 这样,如果您需要更改布局,则只需调整xml。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM