ScrollView和ListView之间的区别

Far*_*hed 37 android android-listview android-scrollview

任何人都可以解释滚动视图和列表视图之间的区别吗?什么时候使用哪一个?哪一个更有效率?

Yug*_*abu 26

ScrollView用于放置不同或相同的子视图或布局,并且可以滚动所有视图或布局.

ListView用于将相同的子视图或布局作为多个项目.所有这些项目也是可滚动的.

简单的ScrollView适用于同类和异构集合.ListView仅用于同类集合.

  • 这个答案实际上错过了一个重要的观点,即ListView中的视图是按需创建的.ListView中的视图被回收,View层次结构中的视图永远不会超过屏幕上显示的视图.使用ScrollView,所有视图都在内存中,即使它们没有显示在屏幕上,也在层次结构中.您没有查看回收,并且没有适配器支持. (42认同)
  • "ListView仅用于同类集合":这一点不正确,误导了开发人员.自从api级别1以来,ListView还可以填充异构视图. (6认同)
  • 基于适配器,ListView 可以与 ScrollView 一样异构。不同之处在于 ListView 的内容由适配器支持,而 ScrollView 与单个 View/ViewGroup 子级一起工作,当然这也可以从代码构建。 (2认同)

Oll*_*e C 25

他们完全不同.

一个滚动型是简单的滚动容器,您可以使用滚动无论你放在里面,这可能是一个项目列表,也可能不是.

http://developer.android.com/reference/android/widget/ScrollView.html

的ListView非常特别设计为保持列表,其中物品通常看起来是相同的(或至少遵循一个模式,例如章节标题).ListView还设计用于连接某种数据源,SQLite,数组,内容提供程序等.ListView可以扩展以处理大量的列表项.

http://developer.android.com/resources/tutorials/views/hello-listview.html

如果您需要在列表中显示数据,请使用ListView.如果您只需要滚动内容,那么ScrollView就足够了.