1. 在布局,只有一个Listview
把高设置成fill_parent或固定高度就成了,不要使用wrap_content
2. Listview有父控件
把父控件高设置成fill_parent或固定高度就成了,不要使用wrap_content
3. 以上设置后getView仍然重复执行
首先要看一下有没有影响到Listview重绘的控件,比如,如果它上面和下面都有控件,而且高都是wrap_content,那么你就要设置成fill_parent或者固定高,这样listview在高上就不会重绘,这是最主要的一点。
那左右是不是也有控件(一般一个手机页面用到list的时候不会有这么多控件)?有,那我们就也要调整,那就同高一样的设置。
一定要让Listview是一个固定在那个地方不动的。
4. Listview这种使用Linearlayout中weight这种布局方式,有时同样会导致getView方法重复执行。问题如下:
例子
如果Listview 左侧有Gallery,同时Gallery自动播放
这种布局,因为Gallery每次移动时,都会执行onLayout导致布局变动,进而影响Listview,重复执行getvVew方法
解决方法:
(1). 不让Gallery移动
(2). 参照1、2设置Listview宽和高