adapter中有两种布局

A B 两种布局  重用view 对象 有可能应用B布局 结果从用的是A布局  所以重用之前要判断

if (position == list.size() - 1) {
            View addView = inflater.inflate(R.layout.gv_item_add, null);
            LogUtil.i(TAG, "=====返回添加view===");
            return addView;
        } else {
            viewHold vh;
            if (convertView == null||convertView.getTag()==null) {
                convertView = inflater.inflate(R.layout.gv_item_pic, null);
                vh = new viewHold();
                vh.delete = (ImageButton) convertView.findViewById(R.id.delete);
                vh.tv = (TextView) convertView.findViewById(R.id.name);
                vh.pic = (ImageView) convertView.findViewById(R.id.pic);
                
                setImageViewSize(vh.pic);
                convertView.setTag(vh);
                LogUtil.i(TAG, "=====返回图片===");
            } else {
                vh = (viewHold) convertView.getTag();
            }

原文地址:https://www.cnblogs.com/childyngy/p/5457166.html