web-dev-qa-db-ja.com

未解決の参照:Kotlinで記述されたアクティビティのGlideApp

要するに、私の問題は、Kotlinで記述されたアクティビティでGlideApp(生成されたAPI)を使用できないことです。

Android= Studioが参照を参照するほど興味深いので、生成されたGlideAppを開くことができます。コード補完がありますが、ビルドしようとすると失敗します

「未解決の参照:GlideApp」

ほとんどのアプリはJavaで記述されているため、glideモジュールはJava=で実装されました。

何か案が?

11
Alex

Gradleファイルでkaptの代わりにannotationprocessorを使用していますか? V4で生成されたAPIサポートKotlin

12
karandeep singh

Karandeepによって提案されたようにkaptを使用していたが、まだ問題があった私のような人のために、AppGlideModule実装を作成する必要があります。

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

@GlideModule
class AppGlideModule : AppGlideModule()

プロジェクトを再構築した後、GlideAppをインポートできます(生成されたコード)。

詳細 この中程度の投稿

7
kip2

appGlideModuleを拡張して追加した後もまだ問題に直面している人

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

次に含めることを忘れないでください

プラグインの適用: 'kotlin-kapt'

アプリまたはモジュールの上部build.gradle

5
dastan

Glideの代わりにGlideAppを使用できます。

Glide.with(context)
            .load(image)
            .apply(RequestOptions().placeholder(R.drawable.image_placeholder))
            .into(imageView);
2
Ivo Stoyanov

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(..)

1
Mladen Rakonjac