经过无数论坛讨论同一问题之后,我仍然无法解决GlideApp
错误。它说无法解决。这是屏幕截图:
这是Java类,可以使用上面的详细信息
我的build.gradle
文件已经包含:
compile 'com.github.bumptech.glide:glide:4.1.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.1.1'
我和我都上了下面的代码:
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public final class CustomAppGlideModule extends AppGlideModule {
}
我正在使用它来请求:
当我使用Glide.with
时出现错误消息
但是仍然不能解决问题。
答案 0 :(得分:2)
尝试
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
@GlideModule
public class FlickrGlideModule extends AppGlideModule {
@Override
public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
super.applyOptions(context, builder);
builder.setDefaultRequestOptions(new RequestOptions().format(DecodeFormat.PREFER_ARGB_8888));
}
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide,
@NonNull Registry registry) {
registry.append(Photo.class, InputStream.class, new FlickrModelLoader.Factory());
}
// Disable manifest parsing to avoid adding similar modules twice.
@Override
public boolean isManifestParsingEnabled() {
return false;
}
}
仅供参考
您的 loadImage
方法将
public static void loadImage(Context ctx,RequestOptions glideRequests, String url, ImageView imageView) {
loadImage(ctx,glideRequests, url, imageView, DiskCacheStrategy.ALL);
}
public static void loadImage(Context ctx,RequestOptions glideRequests, String url, ImageView imageView, DiskCacheStrategy diskCacheStrategy) {
Glide.with(ctx)
.applyDefaultRequestOptions(requestOptions.placeholder(R.drawable.ic_stub).error(R.drawable.ic_stub))
.asBitmap()
.load(url).into(imageView);
}
然后
ImageUtil.loadImage(context,options,obj.getPhotoUrl(),avatarImageView);
答案 1 :(得分:1)
尝试一下
通过将其添加到gradle中来导入Glide
compile 'com.github.bumptech.glide:glide:3.8.0'
然后使用此代码
Glide.with(context)
.load(url)
.placeholder(R.drawable.ic_male)
.error(R.drawable.imagenotfound)
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
// log exception
Log.e("TAG", handle error case", e);
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
Log.e("TAG", handle success case here", e);
return false;
}
})
.into(avatarImageView);
答案 2 :(得分:1)
似乎正在进行激烈的讨论。不用担心我有解决办法。
执行以下步骤:
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
@GlideModule
public class SampleGlideModule extends AppGlideModule {
@Override
public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
super.applyOptions(context, builder);
}
}
现在您可以按 CTRL+F9
,也可以单击 Make Project
中的 Build
选项菜单。
它将自动生成一个文件(您可以通过按CTRL并将鼠标悬停在File中的ClassName上看到。)
final class GeneratedAppGlideModuleImpl extends GeneratedAppGlideModule {
private final SampleGlideModule appGlideModule;
....
}
现在,您可以非常轻松地使用 GlideApp 类。
如有任何错误,请随时与我联系。
希望它会对您有所帮助。我一如既往地爱Glide。 <3