java - ListView 与嵌套布局 [优点/缺点]

标签 java android listview layout

我正在开发一个 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/

相关文章:

android - 菜单按钮-galaxy nexus

android - 在 ViewPager 中用另一个 Fragment 替换一个 Fragment

android - ListView 选择和取消选择项目 Android

java - 为什么我的 ListView 不显示来自 SQLite 数据库的数据?

java - BIRT 表 - 如何停止报告中的数据被截断

java - 我怎样才能获得我的应用程序的可见窗口数?

java - 如何使用APDU读取和下载ddd行车记录仪文件?

java - Java Applet 中的 ClassNotFoundException

java - 应用程序在执行按钮单击时关闭 - 与我的本地 XAMPP 服务器的服务器连接

java - 从firebase数据库获取数据时的同步问题