1

短剣の柄を使用してプロジェクトを作成し、動的機能を作成すると、次のようなエラーが表示されます

    /MyApplication_HiltComponents.java:166: error: [Dagger/MissingBinding] com.apps.jobwishlist3.core.domain.usecase.JobUseCase cannot be provided without an @Provides-annotated method.
  public abstract static class ApplicationC implements MyApplication_GeneratedInjector,
                         ^
  A binding with matching key exists in component: com.apps.jobwishlist3.MyApplication_HiltComponents.ActivityC
      com.apps.jobwishlist3.core.domain.usecase.JobUseCase is requested at
          com.apps.jobwishlist3.di.FullTimeModuleDependencies.jobUseCase()

エラーの意味がよくわかりません。@singeton を消去しようとしましたが、それでもエラーが発生します。

このコードのように短剣の柄に必要なものはすべて既に作成しています

    @EntryPoint
@InstallIn(ApplicationComponent::class)
interface FullTimeModuleDependencies {

    fun jobUseCase(): JobUseCase
}

この

    @Component(dependencies = [FullTimeModuleDependencies::class])
interface FullTimeComponent {

    fun inject(activity: FullTimeActivity)

    @Component.Builder
    interface Builder {
        fun context(@BindsInstance context: Context): Builder
        fun appDependencies(fullTimeModuleDependencies: FullTimeModuleDependencies): Builder
        fun build(): FullTimeComponent
    }

}

しかし、それでも短剣は私のこのアクティビティコードでそれを生成しません

DaggerFullTimeComponent.builder()
        .context(this)
        .appDependencies(
            EntryPointAccessors.fromApplication(
                applicationContext,
                FullTimeModuleDependencies::class.java
            )
        )
        .build()
        .inject(this)

まだ赤くてDaggerFullTimeComponentどうしたらいいのかわからない。知っている人がいたら助けてください。ありがとうございました。

すべてを知る必要がある場合、これは私の完全なプロジェクトです: https://github.com/cube76/JobWishlist3

4

1 に答える 1