@Override public View getView(final int position, View convertView, ViewGroup arg2) { ViewHolder holder; if (convertView == null) { holder = new ViewHolder(); convertView = LayoutInflater.from(mContext).inflate(R.layout.row_fav_vieo_item, null); holder.videoImageView = (ImageView) convertView.findViewById(R.id.videoThumb); holder.videoName = (TextView) convertView.findViewById(R.id.videoName); holder.videoPlayTimes = (TextView) convertView.findViewById(R.id.videoPlayTimes); holder.removeImageView = (ImageView) convertView.findViewById(R.id.videoFavDelete); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } // 得到相应的收藏行数据 FavVideoItem favVideoItem = mItems.get(position); if (favVideoItem != null) { if (false == StringUtils.isNullOrEmpty(favVideoItem.getVideoUrl())) { // 用volley图片加载器加载图片,这里有个问题,我们要为图片加入缓存机制,这样收藏的时候,才不会从网络重新loading图片 holder.videoImageView.setTag(position); ImageListener imageListener = ImageLoader.getImageListener( holder.videoImageView, R.drawable.video_image_03, R.drawable.video_image_03); mImageLoader.get(favVideoItem.getVideoUrl(), imageListener); } if (false == StringUtils.isNullOrEmpty(favVideoItem.getVideoName())) { holder.videoName.setText(favVideoItem.getVideoName()); } else { holder.videoName.setText("未得到影片名"); } if (false == StringUtils.isNullOrEmpty(favVideoItem.getVideoPlayTime())) { holder.videoPlayTimes.setText(favVideoItem.getVideoPlayTime() + "次播放"); } else { holder.videoPlayTimes.setText("0次播放"); } } // 点击删除的时候,删除相应行的收藏数据 holder.removeImageView.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub final CustomDialog dialog = new CustomDialog(mContext, "童鞋,确定要删除这条收藏吗", "确定", "取消"); dialog.setOnButtonClickListener( new CustomDialog.OnButonClickListener() { @Override public void onLeftButtonClick() { if (dialog != null && dialog.isShowing()) { // 删除数据,隐藏view FavDbUtil.getInstance(mContext) .removeFavVideo(mItems.get(position).getVideoId()); mItems.remove(position); // 通知更新 notifyDataSetChanged(); dialog.dismiss(); ToastUtils.ToastAdd(mContext, "删除成功"); } } @Override public void onRightButtonClick() { dialog.dismiss(); } }); dialog.show(); } }); return convertView; }