隐藏 header of Header 网格视图的问题

Issue with hiding header of Header Grid view

我已经使用 this class 实现了 HeaderGridView。在搜索过滤器上,我必须在删除搜索过滤器时将 header 视图隐藏为 re-shown。我尝试了很多方法,但问题是,当 header 被隐藏时,即使在网格视图中有 10 多行,gridview 的高度也会降低到勉强 20-40dp。

尝试过的方法:

  1. headerView.setVisibility(View.GONE) 和 headerView.setVisibility(View.VISIBLE)

  2. 在 header 视图中为单个文本视图和图像视图设置可见性。

  3. 使用布局参数将 header 视图的高度设置为 1 dp。

  4. 正在删除 header 视图。但是问题是不能再添加了

None 这些方法奏效了。知道如何解决这个问题吗?

已报告类似问题 here。 GridView.onMeasure 方法有问题。问题是,为了计算高度,使用了 child(0) 的 child 视图。 (在我们的例子中是 header)。

如果header的身高低于child的另一个身高则计算错误。当它的可见性消失或者它的高度设置为 1 dp 时,网格视图的可滚动区域的高度会降低。