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<PhotoListAdapter.PhotoListHolder> {
|
private List<Mediafile> mediafileList;
|
private Context context;
|
private LayoutInflater layoutInflater;
|
|
public PhotoListAdapter(List<Mediafile> 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);
|
// String url = CommonApplication.getInstance().ROOT_URL_RELEASE_IMAGE + mediafile.getExtension1() + mediafile.getGuid() + ".jpg";
|
// Glide.with(context).asDrawable().load(url).override(100,100).skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.ALL).into(holder.iv_photo);
|
|
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);
|
}
|
}
|
}
|