情况描述:
今天在写数据展示的时候,用了ListView,在它的适配器当中,发现getview方法执行的次数是数据条目的N倍(我这边显示的是4倍,这个倍数值不知道会不会变化),这显然是不科学的!
查阅资料,发现是ListView的布局问题。我把 android:layout_height="wrap_content"高度设置成了wrap_content。而wrap_content值使得ListView没有取到实际的高度,他还要根据计算才能确定,而每一次计算应该会触发listview的渲染,所以就会出现getview的调用次数跟正常情况相比多了好几倍。
解决方法:
在一般情况下,建议把listiview在布局文件中的高度总是设置为:fill_parent(或者match_parent),这不仅仅是getview的调用次数问题,还涉及到布局的效率。
时间: 2024-10-12 07:20:12