listview,gridview的getview多次调用的问题

来源:互联网 发布:律师行业现状 知乎 编辑:程序博客网 时间:2024/05/17 08:19

参考这位大哥的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;

}           

困扰两天的问题解决了,特意写个博客  哈哈

0 0