在一个Android项目中,我有这段代码来在ImageView中获取图像
XML文件
<package.RoundedImageView
android:id="@+id/options_photo_icon"
android:layout_width="@dimen/registration_icons_height"
android:layout_height="@dimen/registration_icons_height"
android:maxWidth="@dimen/registration_icons_height"
android:maxHeight="@dimen/registration_icons_height"
android:src="@drawable/no_image"
android:foregroundGravity="center"
android:layout_centerHorizontal="true"
android:layout_weight="1" />
爪哇
Glide
.with(context)
.load(url)
.asBitmap()
.centerCrop()
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
//do something
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
//do somethig else.
return false;
}
})
.into(options_photo_icon);
但是我得到这个错误:
错误:(212,21)错误:找不到适合的方法
listener(>)方法
GenericRequestBuilder.listener(RequestListener)
不适用(参数不匹配;>不能转换为
RequestListener)方法
BitmapRequestBuilder.listener(RequestListener)
不适用(参数不匹配;>不能转换为
RequestListener)
如果我将其删除为.asBitmap(),则不会得到该错误,但我需要.asBitmap()进行其他处理。
如果我是asBitmap,我不能使用侦听器吗?
最佳答案
尝试这个
SimpleTarget target = new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
imageView.setImageBitmap(resource);
}
};
Glide.with(getApplicationContext()).load(profileUrl)
.asBitmap().diskCacheStrategy(DiskCacheStrategy.SOURCE)
.placeholder(R.drawable.profile_placeholder)
.error(R.drawable.profile_placeholder).into(target);