Java 为每个列表项创建自定义视图的最佳方法
当我回顾并原型化我的android项目时,我注意到有一个视图包含一个非常定制的项目列表。我已经想出了我计划使用的大多数工具,但我需要一些建议 我有一个项目列表,其中可以包含照片,一些文字的权利,一个图像的底部和更多的文字下面。我知道你很困惑。每一个都可能出现在一个项目中。唯一将永远存在的是标题 那么我的问题是——创建每个自定义列表项视图的最佳方法是什么?我想我必须使用它来创建每个视图。但在创建每个视图时,最好是1)动态创建视图并添加图像(例如,如果存在),还是2)创建包含所有可能元素的xml文件并根据项目隐藏它们 我赞成第二条。您可以创建一个包含所有项目的xml布局,然后编写一个列表适配器,在其中可以根据需要隐藏和显示项目。这样,如果您需要更改布局,只需调整xml即可。我会选择#2。您可以创建一个包含所有项目的xml布局,然后编写一个列表适配器,在其中可以根据需要隐藏和显示项目。这样,如果需要更改布局,只需调整xml即可。在性能方面#2更好,因为可以将ListView提供给适配器的convertView作为getView()参数重用。要允许平滑的ListView滚动,必须避免在getView()调用期间创建任何视图 您可以在中找到getView()的高效实现。有两个要点:Java 为每个列表项创建自定义视图的最佳方法,java,android,performance,implementation,Java,Android,Performance,Implementation,当我回顾并原型化我的android项目时,我注意到有一个视图包含一个非常定制的项目列表。我已经想出了我计划使用的大多数工具,但我需要一些建议 我有一个项目列表,其中可以包含照片,一些文字的权利,一个图像的底部和更多的文字下面。我知道你很困惑。每一个都可能出现在一个项目中。唯一将永远存在的是标题 那么我的问题是——创建每个自定义列表项视图的最佳方法是什么?我想我必须使用它来创建每个视图。但在创建每个视图时,最好是1)动态创建视图并添加图像(例如,如果存在),还是2)创建包含所有可能元素的xml文件
- 在可用时重用convertView
- 使用附加到视图的ViewHolder,以避免在每次调用getView()时再次查找子视图
- 在可用时重用convertView
- 使用附加到视图的ViewHolder,以避免在每次调用getView()时再次查找子视图