private void initFavdata() { // TODO Auto-generated method stub Cursor mCursor = null; SQLiteDatabase mSQLiteDatabase = null; try { // 获取收藏数据库的数据操作实例 mSQLiteDatabase = favDbInstance.getDatabase(); mCursor = mSQLiteDatabase.query( FlyShareTVdataHelper.TBL_FAV_VIDEOS, new String[] {"movie_id,movie_name,movie_time,movie_play_times,movie_image"}, null, null, null, null, null); mCursor.moveToFirst(); while (!mCursor.isAfterLast()) { FavVideoItem vItem = new FavVideoItem(); vItem.setVideoId(mCursor.getString(mCursor.getColumnIndex(FlyShareTVdataHelper.MOVIE_ID))); vItem.setVideoName( mCursor.getString(mCursor.getColumnIndex(FlyShareTVdataHelper.MOVIE_NAME))); vItem.setVideoPlayTime( mCursor.getString(mCursor.getColumnIndex(FlyShareTVdataHelper.MOVIE_PLAY_TIMES))); vItem.setVideoTime( mCursor.getString(mCursor.getColumnIndex(FlyShareTVdataHelper.MOVIE_TIME))); vItem.setVideoUrl( mCursor.getString(mCursor.getColumnIndex(FlyShareTVdataHelper.MOVIE_IMAGE))); mItems.add(vItem); mCursor.moveToNext(); Log.d(TAG, "Fav movie items videoname -- >>" + vItem.getVideoName()); } } finally { if (mCursor != null && !mCursor.isClosed()) { mCursor.close(); } favDbInstance.closeDataBase(); } }
@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; }