Uso de Target en Picasso en el adaptador
Estoy teniendo grandes problemas con un objetivo dentro de un adaptador. Estoy confundido acerca de la documentación en el código
Objetos implementando esta clase.debe tener una implementación de trabajo de {@link #equals (Object)} y {@link #hashCode ()} para un almacenamiento interno adecuado. Las instancias de esta interfaz también se compararán para determinar si se está produciendo el reciclaje de vistas. Se recomienda que agregue esta interfaz directamente a un tipo de vista personalizada cuando la use en un adaptador para garantizar un comportamiento de reciclaje correcto.
Estoy tratando de usar el objetivo de esta manera:
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));
....
}
No funciona y las imágenes cambian entre sí al azar.