Использование цели в Пикассо на адаптере
У меня большие проблемы с использованием цели внутри адаптера. Я запутался в документации по коду
Объекты, реализующие этот классдолжен иметь рабочую реализацию {@link #equals (Object)} и {@link #hashCode ()} для надлежащего внутреннего хранения. Экземпляры этого интерфейса также будут сравниваться, чтобы определить, происходит ли переработка представления. Рекомендуется добавлять этот интерфейс непосредственно к пользовательскому типу представления при использовании в адаптере, чтобы обеспечить правильное поведение при переработке.
Я пытаюсь использовать цель следующим образом:
class CustomTarget implements Target {
private ImageView imageView;
public CustomTarget(ImageView imageView) {
this.imageView = imageView;
}
@Override
public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
imageView.setImageDrawable(new RoundedAvatarDrawable(bitmap));
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
imageView.setImageDrawable(errorDrawable);
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
imageView.setImageDrawable(placeHolderDrawable);
}
@Override
public boolean equals(Object o) {
return imageView.equals(o);
}
@Override
public int hashCode() {
return imageView.hashCode();
}
}
@Override
public View getView(int position, View v, ViewGroup parent) {
....
RoundedAvatarDrawable r = new RoundedAvatarDrawable(BitmapFactory.decodeResource(mContext.getResources(), R.drawable.ic_avatar_seahorse));
ImageCacheController.with(mContext).getPicasso().load(member.getPicture_url()).resize(100, 100).centerCrop().placeholder(r).error(r).into(new CustomTarget(viewHolder.ivAvatar));
....
}
Это'с нет работы и изображения меняются между собой в случайном порядке