参考这位大哥的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;
}
困扰两天的问题解决了,特意写个博客 哈哈