安卓滑翔"Cannot Resolve Method 'with' in GlideApp"



我读了很多关于这个的帖子,我也读了Bumptech上的解释。但我还是觉得不太对劲。我有以下代码:

if (image != null) {
GlideApp
.with(this)
.load(imageUrl)
.centerCrop()
.transition(withCrossFade())
.into(eventImageView);
}

返回上面的错误:Cannot Resolve Method 'with' in 'GlideApp'.

我遵循这个问题的第一个答案:

滑动显示错误:Failed to find GeneratedAppGlideModule

…但这似乎并没有改变什么:

import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public class GlideApp extends AppGlideModule {
}

最后my app build.gradle:

implementation ("com.github.bumptech.glide:glide:4.11.0") {
exclude group: "com.android.support"
}
annotationProcessor 'androidx.annotation:annotation:1.1.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation ("com.github.bumptech.glide:glide:4.11.0@aar") {
transitive = true
}

我不明白为什么Glide突然变得如此复杂…

根据最新的说明,你实际上不需要做任何从问题中的链接的东西。你只需使用"滑翔"像往常一样,你不需要使用"GLideApp"

repositories {
google()
jcenter()
}
dependencies {
implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
}

看起来也不需要设置自定义类或类似的东西。

所以我回到了原来的代码:

Glide
.with(this)
.load(imageUrl)
.centerCrop()
.transition(withCrossFade())
.into(eventImageView);
}

图像视图在片段内吗?如果是,则更改为Glide.with(getContext()).load(imageUrl).centerCrop().transition(withCrossFade()).into(eventImageView);

尝试将此添加到您的build.gradle:

annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'

我发现,当我遇到这个错误时,在99%的情况下,是在其他地方构建失败,所以没有生成GlideApp。但Android studio并不总是报告最初的错误。这是非常令人沮丧的。

帮助我找到问题来源的是代码检查(Analyze->Inspect code),然后修复所有其他错误。也可以用——stacktrace和——scan来gradlew

无效缓存/重启可以帮助,特别是在做了一些更改之后。

如果您正在使用Room,请特别注意Daos。Android studio将不会报告一些错误。

最新更新