【问题标题】:ListView inside scrollview does not set to wrap_content滚动视图内的 ListView 未设置为 wrap_content
【发布时间】:2016-04-08 02:53:40
【问题描述】:

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

我有一个包含 3 个片段的视图,它们位于滚动视图内,

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

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

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

我的问题,有没有办法让片段内的列表视图设置为wrap_parent,这样我就不必在每次列表视图内的适配器呈现时手动计算高度?

【问题讨论】:

  • 为什么不使用自定义滚动视图来处理在其中嵌入列表视图的情况?

标签: android listview android-fragments scrollview


【解决方案1】:

您可以编写一个新的自定义 View extends ListView ,并像这样覆盖 onMeasure() 的方法:

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

【讨论】:

    【解决方案2】:

    参考这个链接。它修复了你的错误。

    Make listview to be scrolled which is inside of ScrollView

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-18
      • 1970-01-01
      • 1970-01-01
      • 2019-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多