Android 具有嵌套listview滚动的线性布局

Android 具有嵌套listview滚动的线性布局,android,listview,android-layout,scrollview,android-linearlayout,Android,Listview,Android Layout,Scrollview,Android Linearlayout,我有一个带有嵌套listview的LinearLayout,如下所示: <LinearLayout ... > <LinearLayout> </LinearLayout> <ListView> </ListView> </LinearLayout> 问题是listview拥有滚动条(因此只有listview中的内容是可滚动的),但实际上我希望父LinearLayout拥有滚动条(因此使

我有一个带有嵌套listview的LinearLayout,如下所示:

<LinearLayout ... >
    <LinearLayout>
    </LinearLayout>
    <ListView>
    </ListView>
</LinearLayout>

问题是listview拥有滚动条(因此只有listview中的内容是可滚动的),但实际上我希望父LinearLayout拥有滚动条(因此使整个内容可滚动)

在ScrollView中包装父ListView未成功,因为ScrollView无法识别ListView高度(看起来像是在运行时渲染的)

谢谢


编辑:已解决我的完美解决方案是使用MergeAdapter,正如Barak所建议的那样

您可以用Tableview替换Listview,只要Listview中没有太多项。您仍然可以使用与listview基本相同的方式在tableview中使用childview,只是无法使用与listview相同的方式对其进行数据绑定,而且项目也不会循环使用。

您可以使用允许您定义视图和列表适配器的Commonware,将它们倒入MergeAdapter,并取出一个列表适配器,其中包含您倒入的所有内容,它将作为一个列表滚动


我之前给出的关于MergeAdapter的回答和一些说明是

,因为listview的设计包含的项目超过了可以显示的项目,所以高度永远不会超过屏幕大小(最佳情况),这是控件的意图,虽然我想你可以强迫它变大,但出于很多原因,这通常看起来是个坏主意

我想你应该做的是创建一个自定义的listview适配器,并根据列表中的位置创建你想要的视图,这将允许所有项目按你想要的方式滚动

这可能有效,也可能无效,具体取决于您正试图执行的操作,否则您可能只想将视图添加到滚动视图san的listview中的线性视图中


它只取决于用例(列表视图中有多少项、内存问题等)以及其他视图的用途

为什么不创建一个自定义适配器并在listview中使用不同的视图呢?哇,你救了我一天!谢谢!