package cn.flightfeather.thirdapp.adapter; import android.content.Context; import android.os.Environment; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import java.io.File; import java.util.List; import cn.flightfeather.thirdapp.R; import cn.flightfeather.thirdapp.bean.Mediafile; import cn.flightfeather.thirdapp.task.DownloadAndSetImageTask; import cn.flightfeather.thirdapp.task.SetImageTask; /** * Created by note_ff_1602 on 2018/1/30. */ public class PhotoListAdapter extends RecyclerView.Adapter { private List mediafileList; private Context context; private LayoutInflater layoutInflater; public PhotoListAdapter(List mediafileList, Context context) { this.mediafileList = mediafileList; this.context = context; layoutInflater = LayoutInflater.from(context); } @Override public PhotoListHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = layoutInflater.inflate(R.layout.item_square_photo, parent, false); return new PhotoListHolder(view); } @Override public void onBindViewHolder(PhotoListHolder holder, int position) { Mediafile mediafile = mediafileList.get(position); File file = new File(Environment.getExternalStorageDirectory(),mediafile.getPath()+mediafile.getDescription()); if (file.exists()){ SetImageTask task = new SetImageTask(file,holder.iv_photo); task.execute(); }else { DownloadAndSetImageTask task = new DownloadAndSetImageTask(mediafile,holder.iv_photo,context); task.execute(); Log.e("photolist",position+" no image found"); } } @Override public int getItemCount() { return mediafileList.size(); } public class PhotoListHolder extends RecyclerView.ViewHolder { ImageView iv_photo; public PhotoListHolder(View itemView) { super(itemView); iv_photo = (ImageView) itemView.findViewById(R.id.iv_photo); } } }