scrollview里面的listView没有设置为wrap_content

时间:2016-04-08 02:53:40

标签: android listview android-fragments scrollview

看,我知道将一个列表视图放在scrollview中是一个坏主意,但是,出于某种原因,我必须这样做。

我有一个包含3个片段的视图,它们位于scrollview中,

<scrollview>
    <framelayout></framelayout> -> each framelayout is fragment container
    <framelayout></framelayout>
    <framelayout></framelayout>
<scrollview>

我膨胀的第一个片段中包含了一个列表视图

问题在于,即使我将framelayout高度设置为wrap_parent也不会动态设置高度。我必须在视图完成渲染后手动设置高度,然后计算内容的高度..

我的问题,是否有一种方法可以将片段中的列表视图设置为wrap_parent,这样每次listview中的适配器渲染时我都不必手动计算高度?

2 个答案:

答案 0 :(得分:2)

你可以编写一个新的自定义View extends ListView,并覆盖onMeasure()的方法,如下所示:

protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec){    int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE&gt;&gt; 2,MeasureSpec.AT_MOST);         super.onMeasure(widthMeasureSpec,expandSpec);     }

答案 1 :(得分:0)

请参阅此链接。它可以解决您的错误。

Make listview to be scrolled which is inside of ScrollView