listview,gridview的getview多次调用的问题
2015-09-10 10:42
357 查看
参考这位大哥的blog 终于把多次调用的问题解决http://blog.csdn.net/ksr12333/article/details/18407527
他的文章写的不是很清楚 我在他的基础上把getView的方法贴出来 我看他博客的评论也有很多人问getView方法是怎么写
其实很简单,就是在填充数据代码的前面进行return:
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final Holder holder;
if(convertView == null){
holder = new Holder();
convertView = mInflater.inflate(R.layout.item_grid_images, null);
holder.imageView = (ImageView) convertView.findViewById(R.id.item_grida_image);
convertView.setTag(holder);
}else {
holder = (Holder) convertView.getTag();
}
if(parent instanceof NoScrollGridView){
if(((NoScrollGridView) parent).isMeasure){
return convertView;//如果系统是正在计算控件高度,则直接return,不执行下面的代码(提高流畅性) ,否则系统会多次调用getView方法,造成卡顿
}
}
......
return convertView;
}
困扰两天的问题解决了,特意写个博客 哈哈
他的文章写的不是很清楚 我在他的基础上把getView的方法贴出来 我看他博客的评论也有很多人问getView方法是怎么写
其实很简单,就是在填充数据代码的前面进行return:
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final Holder holder;
if(convertView == null){
holder = new Holder();
convertView = mInflater.inflate(R.layout.item_grid_images, null);
holder.imageView = (ImageView) convertView.findViewById(R.id.item_grida_image);
convertView.setTag(holder);
}else {
holder = (Holder) convertView.getTag();
}
if(parent instanceof NoScrollGridView){
if(((NoScrollGridView) parent).isMeasure){
return convertView;//如果系统是正在计算控件高度,则直接return,不执行下面的代码(提高流畅性) ,否则系统会多次调用getView方法,造成卡顿
}
}
......
return convertView;
}
困扰两天的问题解决了,特意写个博客 哈哈
相关文章推荐
- fackbook的Fresco的多种图片加载方法以及解码过程
- 盘点国内外在线app制作平台:分分钟做款app
- VB.Net刷点击
- 查找(二):彻底理解红黑树和平衡查找树
- (很容易懂) hibernate的inverse和casecade的理解——写的很透彻
- UTF8字符串的判断
- UTF8字符串的判断
- vSphere HA 5.x系列的高级参数及详细用途说明
- NYOJ16 矩形嵌套 (DAG模型_dp)
- HeaderView随cell滑动而滑动
- HTML URL 编码
- 如何从Apache官网下载windows版apache服务器
- iOS学习 -- 中文按首字母拼音排序
- 网络七层协议的形象说明
- 不同数据库下的可更新结果集问题
- Spring mvc视图解析器
- 欢迎使用CSDN-markdown编辑器
- 怎样同时把多个word文档转为pdf
- 浅谈:Android应用清理内存
- 控制台程序关联的cmd.exe进程