Я попробовал перед загрузкой очистить вьюшку, и всё вроде работает но не очень красиво смотриться, когда при очередной прокрутке изображения заново появляются.
Вот код адаптера:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
public class ViewHolder extends RecyclerView.ViewHolder {
public ImageView userPhoto;
public TextView name;
public TextView date;
private ImageView image;
public TextView text;
public TextView likeCount;
public TextView commCount;
public ViewHolder(View v) {
super(v);
userPhoto = (ImageView)v.findViewById(R.id.userPhoto);
name = (TextView)v.findViewById(R.id.name);
date = (TextView)v.findViewById(R.id.date);
image = (ImageView)v.findViewById(R.id.image);
text = (TextView)v.findViewById(R.id.text);
likeCount = (TextView)v.findViewById(R.id.likeCount);
commCount = (TextView)v.findViewById(R.id.commentCount);
}
}
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.photo_card_item, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
PhotoLab photoLab = photoLabs.get(position);
imageLoader.displayImage(photoLab.getProfilePhoto(), holder.userPhoto, options);
holder.name.setText(photoLab.getfName() + " " + photoLab.getlName());
Calendar c = Calendar.getInstance();
c.setTimeInMillis(photoLab.getDate() * 1000);
holder.date.setText(
c.get(Calendar.DAY_OF_MONTH) + "." +
(c.get(Calendar.MONTH) + 1) + "." +
c.get(Calendar.YEAR) + " " +
c.get(Calendar.HOUR) + ":" +
c.get(Calendar.MINUTE)
);
PhotoResource photoResource = photoLab.getPhotos().get(0);
//if(holder.image.getDrawable() == null){
holder.image.setImageResource(0); // обнуляю перед загрузкой
imageLoader.getInstance().displayImage(photoResource.getPhoto(), holder.image); //это проблемная вьюшка
//}
holder.text.setText(photoResource.getText());
holder.likeCount.setText(""+photoResource.getLikes());
holder.commCount.setText(""+photoResource.getComments());
}
@Override
public int getItemCount() {
return photoLabs.size();
}
}