listview中的headerview隐藏不掉的原因
2016-07-11 本文已影响858人
这种事你也信以为真
最近在做广告轮播的页面,用的是listview.addHeaderView这个方法嵌套到listview中的,但是,有一个很蛋疼的问题就是,因为不是每一个页面都会有广告,有一些是没有广告的,但是用headerview.setVisiable(View.GONE)的效果是跟headerView.setVisiable(View.INVISIABLE)的效果是一样的好嘛,一大块的空白放在那儿。后来,我就想说如果没有数据的话,就直接用listview.removeHeaderView(headerview)来直接把它去掉就好了。但是这样子做又一个蛋疼的问题就是:如果同一个页面刷新数据的时候,如果这时候刚好有广告的话,就会出现,找不到view的情况,然后就APP停止了。这个问题,想了很久了,后来想刷新就不刷新广告好了,但是后来给老板测试,老板说,你刷新怎么没有刷新广告= =我。。。好吧,回来接着改,后来网上查了一下。终于找到了解决方法了。
解决方法:就是view的根布局GONE是GONE不掉的,不知道原因,以后多看看源码吧。= = 所以,我就在headerview的根布局下面再加一个布局,然后让这个布局GONE和VISIABLE就好了。
= =还是觉得自己技术好渣啊,没事要多看看技术博客了。多看看源码(PS:虽然看不懂,但是看心安吧)。好吧,记录完毕了~