简而言之,我的问题是我不能在用Kotlin编写的活动中使用GlideApp(生成的API)。
有趣的是Android Studio看到了引用,我可以打开生成的GlideApp,有代码完成,但是当我尝试构建它时,它失败了
“尚未解决的参考:GlideApp”
滑动模块是用java实现的,因为大多数应用程序都是用java编写的。
任何的想法?
在gradle文件中使用kapt
而不是annotationprocessor
? V4 Generated API support Kotlin
对于那些像karandeep建议使用kapt
但仍然遇到问题的人 - 你必须创建一个AppGlideModule
实现:
// AppGlidModule.kt
import com.bumptech.glide.annotation.GlideModule
import com.bumptech.glide.module.AppGlideModule
@GlideModule
class AppGlideModule : AppGlideModule()
重建项目后,可以导入GlideApp
(生成代码)。
在扩展AppGlideModule并添加之后仍然面临问题的人
kapt'com.github.bumptech.glide:编译器:4.8.0'
然后别忘了包括
申请插件:'kotlin-kapt'
在应用程序或模块build.gradle中的顶部
你可以使用Glide
而不是GlideApp
。
Glide.with(context)
.load(image)
.apply(RequestOptions().placeholder(R.drawable.image_placeholder))
.into(imageView);
要添加Glide应用,您需要添加:
implementation 'com.github.bumptech.glide:glide:4.8.0'
然后你可以使用
Glide.with(..)
该代码使用默认的Glide。如果您想要定制Glide,则需要添加
对于kotlin:
kapt 'com.github.bumptech.glide:annotations:4.9.0'
或者对于java:
annotationProcessor 'com.github.bumptech.glide:annotations:4.9.0'
一旦您同步项目,您需要在项目中添加Glide模块类:
@GlideModule
public class CustomGlideModule extends AppGlideModule {
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
//register some components
}
}
重建项目后,将自动生成新类GlideApp。您现在可以使用以下代码使用Glide:
GlideApp.with(..)
好吧,我也有,但只是导入滑行后,它工作导入com.bumptech.glide.glide