我正在研究一个Android应用程序而且我已经遇到了一个我不能以这种或那种方式做出决定的决定。我希望有人能够对常见的做法和任何支持它们的理论有所了解。
问题在于:
我想要一个包含图像和文本的项目列表,如表格...
Country -.-。-。-。-。-.- Pop -.- SqrMi
[img] US -.-。-。-。-。-.- xxx -.-.- xxxxx
现在我正在讨论的是,是否使用listview来显示数据,或者嵌套一个可滚动的布局,只是以那种方式显示数据。
为什么我会考虑嵌套布局?灵活性。我可以设计分隔线,可能会在列表上方/下方放置一些图表。改变每个列表项的高度(如果我想在一个列表项中显示图形而下一个没有图形,等等)
我不确定我是否打破了这里普遍接受的方法。任何人都可以对此有所了解吗?
答案 0 :(得分:2)
使用嵌套布局时,唯一的主要问题是内存消耗。 ListView
重用它的子节点,因此它不会创建更多的子节点,然后它可以在一个时刻显示。这个描述有点简化,但我希望它显示ListView
的目的。此外ListView
实现了自己的快速滚动,因此不必测量其所有子节点来确定其大小。并且ListView
使用适配器来填充数据。这是一种获取数据的便捷方式。
另一方面,如果你创建一个内部有很多视图的ScrollView
,它会很慢,难以填充数据,并且需要大量内存才能创建所有子视图如果你没有看到其中的一些。
关于ListView
的灵活性。您可以在一个ListView
中存储不同类型的视图,并且您可以更改每个视图的高度。
答案 1 :(得分:0)
您为“嵌套布局”描述的所有内容都可以通过ListView实现。只需使用不同类型的行,在适配器中使用页眉/页脚。
正如Pixie所说,ListView的内存效率更高,速度更快。