我尝试在Kotlin中使用Dagger2,但出现此错误
错误:[Dagger / MissingBinding] [com.syouth.tsarz.base.BaseComponent.getNavigationManager()] 没有android.support.v4.app.FragmentManager就无法提供 @提供注释的方法。
我真的很困惑,因为我在模块中提供了FragmentManager:
@Module
class BaseModule {
@Provides
@BaseScope
fun provideFragmentManager(activity: FragmentActivity): FragmentManager = activity.supportFragmentManager
}
这是我的组成部分:
@Subcomponent(modules = [(BaseModule::class)])
@BaseScope
interface BaseComponent {
fun getNavigationManager(): NavigationManager
@Subcomponent.Builder
interface Builder {
@BindsInstance
fun activity(activity: FragmentActivity): Builder
fun build(): BaseComponent
}
}
通过使用@Inject构造函数和带有@BaseScope批注的类来注入导航管理器
所以基本上我只是想通过一个组件来获得依赖关系,这应该是完全可以的。 我在哪里错了?
答案 0 :(得分:0)
在范围定义中使用了错误的注释。