看,我知道将一个列表视图放在scrollview中是一个坏主意,但是,出于某种原因,我必须这样做。
我有一个包含3个片段的视图,它们位于scrollview中,
<scrollview>
<framelayout></framelayout> -> each framelayout is fragment container
<framelayout></framelayout>
<framelayout></framelayout>
<scrollview>
我膨胀的第一个片段中包含了一个列表视图
问题在于,即使我将framelayout
高度设置为wrap_parent
,也不会动态设置高度。我必须在视图完成渲染后手动设置高度,然后计算内容的高度..
我的问题,是否有一种方法可以将片段中的列表视图设置为wrap_parent
,这样每次listview中的适配器渲染时我都不必手动计算高度?
答案 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)
请参阅此链接。它可以解决您的错误。