您的位置:首页 > 移动开发 > Android开发

android ListView 设置header和footer的问题

2013-08-29 22:28 387 查看
在使用ListView的header和footer的过程中,如果需要动态的显示和隐藏header和footer的话,以前以为直接setVisibility中的View.GONE就可以。但是在实际使用中发现并不是这样的。直接设置GONE后,虽然元素是隐藏了,但是还是占用着那个区域。感觉就像View.INVISIBILE一样的效果了。后来在网上查找后发现。只要给footer再加上一个layout或者是父级的view就可以了。

例如:(示例代码,header同理)

private ListView listView = new ListView(context);

private TextView footer = new TextView(context);

然后直接

listView.addFooterView(footer);

footer.setVisibility(View.GONE);

这样的话,是不行的。需要

LinearLayout footerParent = new LinearLayout(context);

footerParent.addView(footer);

listView.addFooterView(footerParent);

footer.setVisibility(View.GONE);

这样就可以达到真正想要的效果了。

在知道这个效果之前,都是用remove和add方法,比较郁闷。这样的方式感觉是很迂回的,而且还得加多一个boolean的变量来判断。

参考http://blog.sina.com.cn/s/blog_70b9730f01014sgm.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: