package com.yydcdut.noteplugin.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.nostra13.universalimageloader.core.ImageLoader; import com.yydcdut.noteplugin.R; import com.yydcdut.noteplugin.adapter.vh.MediaPhotoViewHolder; import com.yydcdut.noteplugin.bean.MediaFolder; import com.yydcdut.noteplugin.bean.MediaPhoto; import com.yydcdut.noteplugin.model.SelectPhotoModel; import java.util.List; /** * Created by yuyidong on 16/3/19. */ public class MediaPhotoAdapter extends RecyclerView.Adapter<MediaPhotoViewHolder> { private int mSize; private List<MediaPhoto> mMediaPhotoList; private MediaPhotoViewHolder.OnItemClickListener mOnItemClickListener; private MediaPhotoViewHolder.OnItemSelectListener mOnItemSelectListener; public MediaPhotoAdapter(@NonNull Context context, @NonNull int size, @NonNull MediaFolder mediaFolder, @Nullable MediaPhotoViewHolder.OnItemClickListener onItemClickListener, @Nullable MediaPhotoViewHolder.OnItemSelectListener onItemSelectListener) { mSize = size; mMediaPhotoList = mediaFolder.getMediaPhotoList(); mOnItemClickListener = onItemClickListener; mOnItemSelectListener = onItemSelectListener; } @Override public MediaPhotoViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_media_photo, parent, false); return new MediaPhotoViewHolder(view, mSize, mOnItemClickListener, mOnItemSelectListener); } @Override public void onBindViewHolder(MediaPhotoViewHolder holder, int position) { MediaPhoto mediaPhoto = mMediaPhotoList.get(position); if (SelectPhotoModel.getInstance().contains(mediaPhoto.getPath())) { holder.checkBox.setCheckedWithoutCallback(true); } else { holder.checkBox.setCheckedWithoutCallback(false); } holder.imageView.setImageResource(R.drawable.ic_gf_default_photo); ImageLoader.getInstance().displayImage("file:/" + mediaPhoto.getThumbPath(), holder.imageView); } @Override public int getItemCount() { return mMediaPhotoList.size(); } public void updateMediaFolder(@NonNull MediaFolder mediaFolder) { mMediaPhotoList = mediaFolder.getMediaPhotoList(); notifyDataSetChanged(); } }