要するに、私の問題は、Kotlinで記述されたアクティビティでGlideApp(生成されたAPI)を使用できないことです。
Android= Studioが参照を参照するほど興味深いので、生成されたGlideAppを開くことができます。コード補完がありますが、ビルドしようとすると失敗します
「未解決の参照:GlideApp」
ほとんどのアプリはJavaで記述されているため、glideモジュールはJava=で実装されました。
何か案が?
Gradleファイルでkapt
の代わりにannotationprocessor
を使用していますか? V4で生成されたAPIサポート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:compiler: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(..)
そのコードはデフォルトのグライドを使用します。グライドをカスタマイズしたい場合は、追加する必要があります
コトリンの場合:
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(..)