未解决的参考文献:GlideApp用Koltin编写的活动

Ale*_*lex 11 android kotlin android-glide

简而言之,我的问题是我不能在用Kotlin编写的活动中使用GlideApp(生成的API).有趣的是Android Studio看到了引用,我可以打开生成的GlideApp,有代码完成,但是当我尝试构建它时,它失败了"Unresolved reference:GlideApp"

滑动模块在java中实现,因为大多数应用程序都是用java编写的.

任何的想法?

kar*_*ngh 13

是否使用kapt而不是annotationprocessorgradle文件? V4 Generated API支持Kotlin

  • Soo 原来我需要使用 kapt,这不是一个选项。也许我没有正确理解文档。因此,如果我使用 kapt 进行注释处理,即使 GlideModule 是在 Java 中实现的,它似乎也能工作。 (2认同)

Ivo*_*nov 9

您可以使用Glide代替GlideApp.

Glide.with(context)
            .load(image)
            .apply(RequestOptions().placeholder(R.drawable.image_placeholder))
            .into(imageView);
Run Code Online (Sandbox Code Playgroud)

  • 如果添加了@GlidedModule,则需要使用 GlideApp 而不是 Glide。所以这个答案并不适用于所有情况 (2认同)

kip*_*ip2 8

对于像我kapt一样按照karandeep的建议使用但仍然遇到问题的人 - 你必须创建一个AppGlideModule实现:

// AppGlidModule.kt
import com.bumptech.glide.annotation.GlideModule
import com.bumptech.glide.module.AppGlideModule

@GlideModule
class AppGlideModule : AppGlideModule()
Run Code Online (Sandbox Code Playgroud)

重建项目后GlideApp可以导入(生成代码).

更多在这个中等职位


das*_*tan 7

扩展AppGlideModule并添加后仍然面临问题的人

kapt'com.github.bumptech.glide:compiler:4.8.0'

那别忘了包括

应用插件:“ kotlin-kapt”

在应用程序或模块build.gradle中


Mla*_*jac 5

要添加 Glide 应用程序,您需要添加:

implementation 'com.github.bumptech.glide:glide:4.8.0'
Run Code Online (Sandbox Code Playgroud)

然后你可以使用

Glide.with(..)

该代码使用默认的 Glide。如果您想自定义 Glide,则需要添加

对于科特林:

kapt 'com.github.bumptech.glide:annotations:4.9.0'
Run Code Online (Sandbox Code Playgroud)

或对于Java:

annotationProcessor 'com.github.bumptech.glide:annotations:4.9.0'
Run Code Online (Sandbox Code Playgroud)

一旦你同步项目,你需要在你的项目中添加 Glide 模块类:

@GlideModule
public class CustomGlideModule extends AppGlideModule {
    @Override
    public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
        //register some components
    }
}
Run Code Online (Sandbox Code Playgroud)

一旦你重建项目,新的类 GlideApp 将自动生成。您现在可以通过以下代码使用 Glide:

GlideApp.with(..)