彻底解决listview,gridview的getview多次调用问题

listview,gridview,有时候getview会调用多次,特别是把listview放在viewpager中,很容易卡顿


网上的方法往往只是说,把listview的height固定住或者fill_parent,其实这样简单的listview是有效的,但是item如果是复杂的xml,很难实现,或者说无法实现。


究其原因,无非是listview要动态计算有多少个view显示在里面,所以需要多次onMeasure,最后才onLayout,而onMeasure可能需要执行多次


这不就行了,我们在adapt里面的getview中,判断是否在onmeasure里,如果在,那么仅仅mInflater.inflate(R.layout.XXX),然后立刻返回这个convertView


如果不在onmeasure里,那么再去真正的onlayout


结合这种方法,成功解决了卡顿问题..





你可能感兴趣的:(安卓)