纠结了很久,在网上找了一些资料,发现是listview这个控件的layout_width被我设置成了wrap_content,只需要将其修改成match_parent即可
原因
当我们设置成wrap_content的时候,系统在绘制界面的时候,并不确定listView的实际height,这个时候需要加载一次getView()方法,来计算实际的height,注意,系统只会创建一个item,由此一个item,和listView中需要显示的个数来计算,listView实际的height,等确定listView实际的height后,再去创建实际需要的item,也就出现getView()被调用了两遍的情况了
这里还是建议大家能够将listView的height尽量设置为match_parent,这样可以优化绘制的速度和app的运行效率