Kotlin Dagger 2不能提供交互器

我已经开始使用匕首2,并面临奇怪的问题。 我有4个模块,其中3个在ApplicationComponent中,另​​一个有不同的Scope(UsersScope)。

UsersInteractor注入UsersInteractor UsersPresenter

错误:[BlankFragment]] com.interactors.UsersInteractor不能提供没有@Inject构造函数或从@提供注释的方法。

这是我的课程

 @Singleton @Component(modules = arrayOf(ApplicationModule::class, NetworkModule::class, DbModule::class)) interface ApplicationComponent { fun plusUsersComponent(usersModule: UsersModule): UsersComponent } @Module class ApplicationModule(private val context: Context) { @Provides @Singleton fun provideContext(): Context = context } @Subcomponent(modules = arrayOf(UsersModule::class)) @UsersScope interface UsersComponent { fun inject(blankFragment: BlankFragment) } @Module class UsersModule { @Provides @UsersScope fun provideUsersRepository(restService: RestService, dbService: DbService): IUsersRepository = UsersRepository(restService, dbService) @Provides @UsersScope fun provideUsersInteractor(usersRepository: UsersRepository): IUsersInteractor = UsersInteractor(usersRepository) @Provides @UsersScope fun provideUsersPresenter(usersInteractor: UsersInteractor): IUsersPresenter = UsersPresenter(usersInteractor) } @Scope @Retention(AnnotationRetention.RUNTIME) annotation class UsersScope 

由于您只提供IUsersInteractor因此没有UsersInteractor已知的IUsersInteractor

切换您的演示者提供者方法使用IUsersInteractor它应该工作

 fun provideUsersPresenter(usersInteractor: IUsersInteractor)