【发布时间】:2018-05-29 15:52:15
【问题描述】:
我无法在 DaggerApplication 类中注入依赖项
相关类如下
应用
class App : DaggerApplication() {
@Inject lateinit var mSomeClass : SomeClass // This is always NULL
override fun applicationInjector(): AndroidInjector<out DaggerApplication> {
return DaggerAppComponent.builder().application(this).build()
}
override fun onCreate() {
super.onCreate()
mSomeClass.initialize() // mSomeClass is NULL
}
组件:
@Singleton
@Component(modules = [
AndroidSupportInjectionModule::class,
AppModule::class,
ViewModelFactoryModule::class,
BuildersModule::class
])
interface AppComponent : AndroidInjector<DaggerApplication> {
@Component.Builder
interface Builder {
@BindsInstance
fun application(application: Application): Builder
fun build(): AppComponent
}
}
AppModule 类:
@Module
class AppModule {
@Provides
fun provideSomeClass(context: Context) = SomeClass(context = context)
}
不确定缺少什么。
【问题讨论】:
-
你有 java 和 kotlin 的混合体,请准确填写你正在尝试的语言
-
void inject(App app);和appComponent.inject(this) -
请包含您的组件接口。
-
@EpicPandaForce,您能否详细说明您的声明?
-
很确定这应该是
interface AppComponent : AndroidInjector<App>