Android ListView Android ListView与getView调用卡顿问题解决办法

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Android ListView Android ListView与getView调用卡顿问题解决办法

  2021-03-29 我要评论
想了解Android ListView与getView调用卡顿问题解决办法的相关内容吗,在本文为您仔细讲解Android ListView的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Android,ListView与getView的卡顿问题,Android,ListView使用卡顿解决办法,下面大家一起来学习吧。

Android ListView与getView调用卡顿问题解决办法

解决办法1,设置ListView高度为固定值或者match_parent/ifll_parent

@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
Log.d("onMeasure", "onMeasure"); 
isOnMeasure = true; 
super.onMeasure(widthMeasureSpec, heightMeasureSpec); 
} 
 
@Override 
protected void onLayout(boolean changed, int l, int t, int r, int b) { 
Log.d("onLayout", "onLayout"); 
isOnMeasure = false; 
super.onLayout(changed, l, t, r, b); 
} 

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

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

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

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

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

猜您喜欢

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们