android listview 多次addHeaderView()异常解决方法!

ListView中Header、Footer View应该是会应该遇到, 比如说,滚动到底部时,自动开始加载; 对于一些应用市场,会在Header中加上ViewFlipper做应用推荐(滚动的那种,好像很不少市场都有这个功能)。

添加时一般大家都会做如下处理:

[java]  view plain copy print ?
  1. ListView listView = xxxx;  
  2. listView.addHearderView(item_head);  
  3. listView.setAdapter(adapter);  

页面正常显示之后,此时如果用户刷新, 发现没有需要推荐的应用,这个时候,ListView的Header就需要隐藏了. 第一个想到的就是:
[java]  view plain copy print ?
  1. item_head.setVisibility(View.GONE);  

没错,内容确实消失了,可那块位置还是占用着,页面上显示一块空白区域!


关于解决方法,有的人说设置Header中子View为不可见; 有的人说设置Header中子View高度为0;但是我这边测试下来,没有效果..  


当前我的解决办法:


//headContentView为headerview的高度
  1. item_head.setPadding(0, -1 * headContentHeight, 00);  
  2.         item_head.setVisibility(View.GONE);  


最后我想说,这问题感觉真的很蛋疼!在此记录一下,做备忘!


然后网上还有另外一种解决办法:本人愚昧,几经测试未能成功!在此留下网址给后来人测试一下.

http://www.shaoqun.com/a/44564.aspx 



参考:

http://blog.chinaunix.net/uid-23392298-id-3342943.html

http://stackoverflow.com/questions/4317778/hide-footer-view-in-listview

http://blog.sina.com.cn/s/blog_70b9730f01014sgm.html




你可能感兴趣的:(android listview 多次addHeaderView()异常解决方法!)