当标题视图设置为View.GONE时,ListView不收缩

And*_*yld 1 layout android listview

我有一个标题视图,ListView我想在不使用时隐藏.我已经包含了将其可见性设置为View.GONEView.VISIBLE取决于另一个控件的代码.

不幸的是,我试图展示和隐藏的视图正在布局,好像我正在设置它的可见性View.INVISIBLE- 也就是说,ListView即使它被隐藏也允许它的空间.我怎么能阻止这个?

我试过打电话requestLayout(),但没有任何效果.

我将在这里尝试一种建议的解决方案:

在ListView中隐藏页脚视图?

即,将我的标题包装在一个FrameLayout并让FrameLayout句柄布局改变,而不是ListView.

编辑:我发现当我添加一个ViewPager子类时,基本上会出现同样的错误,我已将其覆盖onMeasure(int widthMeasureSpec, int heightMeasureSpec)为标题视图:它被设计为在添加子项时再次ListView显示自己,但显示错误.LinearLayout然而,作为一个孩子,这工作得很好.

And*_*yld 5

我添加了一个FrameLayout作为我希望隐藏的标题区块的父视图.这意味着当我隐藏瓷砖时,FrameLayout收缩以适应它,并报告零高度ListView,也会收缩.这是一个非常有效的解决方法,虽然有点奇怪.