@Override public View getView(int position, View convertView, ViewGroup container) { ViewHolder holder = null; if (convertView == null) { holder = new ViewHolder(); convertView = LayoutInflater.from(mContext).inflate(R.layout.choose_griditem, container, false); holder.imageView = (RecyclingImageView) convertView.findViewById(R.id.imageView); holder.icon = (ImageView) convertView.findViewById(R.id.video_icon); holder.tvDur = (TextView) convertView.findViewById(R.id.chatting_length_iv); holder.tvSize = (TextView) convertView.findViewById(R.id.chatting_size_iv); holder.imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); holder.imageView.setLayoutParams(mImageViewLayoutParams); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } // Check the height matches our calculated column width if (holder.imageView.getLayoutParams().height != mItemHeight) { holder.imageView.setLayoutParams(mImageViewLayoutParams); } // Finally load the image asynchronously into the ImageView, this // also takes care of // setting a placeholder image while the background thread runs String st1 = getResources().getString(R.string.Video_footage); if (position == 0) { holder.icon.setVisibility(View.GONE); holder.tvDur.setVisibility(View.GONE); holder.tvSize.setText(st1); holder.imageView.setImageResource(R.drawable.actionbar_camera_icon); } else { holder.icon.setVisibility(View.VISIBLE); VideoEntity entty = mList.get(position - 1); holder.tvDur.setVisibility(View.VISIBLE); holder.tvDur.setText(DateUtils.toTime(entty.duration)); holder.tvSize.setText(TextFormater.getDataSize(entty.size)); holder.imageView.setImageResource(R.drawable.empty_photo); mImageResizer.loadImage(entty.filePath, holder.imageView); } return convertView; // END_INCLUDE(load_gridview_item) }