En bref, mon problème est que je ne peux pas utiliser GlideApp (API générée) dans une activité écrite en Kotlin . Assez intéressant de voir que Android Studio voit la référence, je peux ouvrir le GlideApp généré, le code est complet, mais lorsque je essayez de le construire, puis il échoue avec "Référence non résolue: GlideApp"
Le module glide a été implémenté en Java car la plupart des applications sont écrites en Java.
Une idée?
Utilisez-vous kapt
au lieu de annotationprocessor
dans le fichier gradle? Prise en charge de l’API générée V4 Kotlin
Pour ceux comme moi qui avaient utilisé kapt
comme suggéré par karandeep mais qui avaient toujours le problème - vous devez créer une implémentation AppGlideModule
:
// AppGlidModule.kt
import com.bumptech.glide.annotation.GlideModule
import com.bumptech.glide.module.AppGlideModule
@GlideModule
class AppGlideModule : AppGlideModule()
Après avoir reconstruit le projet, vous pouvez importer la variable GlideApp
(code généré).
Plus à ce post moyen
quiconque est toujours confronté à un problème après avoir étendu AppGlideModule et ajouté
kapt 'com.github.bumptech.glide: compilateur: 4.8.0'
alors n'oubliez pas d'inclure
appliquer le plugin: 'kotlin-kapt'
sur l'application ou le module build.gradle
Vous pouvez utiliser Glide
au lieu de GlideApp
.
Glide.with(context)
.load(image)
.apply(RequestOptions().placeholder(R.drawable.image_placeholder))
.into(imageView);
Pour ajouter l'application Glide, vous devez ajouter:
implementation 'com.github.bumptech.glide:glide:4.8.0'
Ensuite, vous pouvez utiliser
Glide.with (..)
Ce code utilise par défaut Glide . Si vous souhaitez personnaliser Glide, vous devez ajouter
pour kotlin:
kapt 'com.github.bumptech.glide:annotations:4.9.0'
ou pour Java:
annotationProcessor 'com.github.bumptech.glide:annotations:4.9.0'
Une fois que vous synchronisez le projet, vous devez ajouter une classe de module Glide à votre projet:
@GlideModule
public class CustomGlideModule extends AppGlideModule {
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
//register some components
}
}
Une fois que vous reconstruisez le projet, la nouvelle classe GlideApp sera automatiquement générée . Vous pouvez maintenant utiliser Glide avec le code suivant:
GlideApp.with (..)