我正在开发一个 Android 应用程序,但我遇到了一个无法以某种方式做出决定的决定。我希望有人能够阐明常见的做法以及支持它们的任何理论。
问题是这样的:
我想要一个包含图像和文本(例如表格)的项目列表...
乡村 -.-.-.-.-.-.- 流行音乐 -.- SqrMi
[img] 美国 -.-.-.-.-.-.- xxx -.-.- xxxxx
现在我正在争论的是是否使用 ListView 来显示数据,或者嵌套一个可滚动的布局并以这种方式显示数据。
为什么我要考虑嵌套布局?灵 active 。我可以设计分隔线,可能会在列表上方/下方添加一些图表。改变每个列表项的高度(例如,如果我想在一个列表项中显示图形而在下一个列表项中不显示图形,等等)等。
我不确定我是否违反了这里普遍接受的方法。有人能解释一下吗?
最佳答案
使用嵌套布局时遇到的唯一主要问题是内存消耗。 ListView
重用其子级,因此它不会创建更多的子级,超过它可以在同一时刻显示的数量。这个描述有点简化,但我希望它能显示 ListView
的用途。此外,ListView
实现了自己的快速滚动,因此它不必测量其所有 subview 来确定其大小。 ListView 使用适配器来填充数据。这是一种获取数据的好且方便的方式。
另一方面,如果您创建一个包含大量 View 的 ScrollView
,它会很慢,难以填充数据,并且需要大量内存来创建所有 View subview ,即使您从未见过其中的某些 View 。
以及ListView
的灵 active 。您可以在单个 ListView
中存储不同类型的 View ,并且可以改变每个 View 的高度。
关于java - ListView 与嵌套布局 [优点/缺点],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7564846/