Android 是否可能&;在ScrollView中放置LinearView和ExpandableListView非常有效
我正在制作一个包含两个不同部分的GUI。第一部分(顶部)由一些横幅、几个固定按钮组成。因此,我认为使用LinearLayout是最简单的实现方法。第二部分由几个相似的项组成,我认为它们可以使用ExpandableListView来实现。 但是问题是内容超出了屏幕大小。所以我打算把其中两个放到一个滚动视图中。我查了几个资料来源,似乎在ScroolView中放置“ExpandableListView”是不可能的,或者说是无效的,所以我担心Android 是否可能&;在ScrollView中放置LinearView和ExpandableListView非常有效,android,android-layout,scrollview,Android,Android Layout,Scrollview,我正在制作一个包含两个不同部分的GUI。第一部分(顶部)由一些横幅、几个固定按钮组成。因此,我认为使用LinearLayout是最简单的实现方法。第二部分由几个相似的项组成,我认为它们可以使用ExpandableListView来实现。 但是问题是内容超出了屏幕大小。所以我打算把其中两个放到一个滚动视图中。我查了几个资料来源,似乎在ScroolView中放置“ExpandableListView”是不可能的,或者说是无效的,所以我担心 你能帮我确认一下这是否可行吗?高效的 如果没有,你能给我一些
诚恳。可扩展的列表视图本身具有可滚动属性,将其放置在滚动视图中是不可取的。因为两个滚动都会矛盾,在这种情况下无法实现平滑滚动 如果我们有任何数据要在列表之前或之后显示 最好的方法是使用页眉和页脚视图列出
我建议您在案例中使用页眉和页脚。如果列表顶部有固定页眉,请使用 将ListView放在ScrollView中根本没有意义,原因如下: ListView有一个目的:高效地显示无界数据集。由于这些项目可能非常大(数以万计的项目和更多),因此您不希望为每个项目预先创建一个视图。相反,ListView要求其适配器仅为当前适合ListView在屏幕上测量的空间的项目提供视图。当一个项目的视图被滚动到看不见的地方时,ListView会断开该视图的连接,并将其交还给适配器,以填充新数据并重新使用以显示其他项目。(这是适配器的
getView
方法的convertView
参数。)
ScrollView还有一个目的:获取一个子视图,并为其提供“无限”的垂直空间。然后,用户可以上下滚动查看完整内容
现在考虑到这一点,如果100000项适配器有无限高可填充,那么ListView会为其创建多少项视图?:)
通过将ListView放在ScrollView中,您无法实现ListView的关键用途。父ScrollView将为ListView提供有效的无限高度,但ListView希望有一个有界的高度,以便它可以提供一个有限的窗口来查看大型数据集。非常感谢您的回答。我想我需要按照你的方式,使用页眉和页脚。然而,我仍在研究如何将单击侦听器添加到页眉/页脚。除了Android开发者页面,您是否介意给出一些建议或进一步的说明?我是一个初学者。你可能会发现这篇来自Google I/O 2010的演讲很有用:ListView建立在与Android UI工具包的其他部分相同的原则上,你可能会发现在Android开发者网站上浏览一些其他示例和教程来添加上下文很有帮助。我想我现在明白了。非常感谢你的支持。