【发布时间】:2017-11-26 19:19:54
【问题描述】:
我在我的 Android 应用程序中将 Dagger2 用于 DI,并且使用此代码将类注入到我的 Activity 中很好:
@field:[Inject ApplicationContext]
lateinit var context: Context
但是,lateinit Kotlin 中的原始类型属性不允许使用修饰符(例如 Boolean),我该怎么做?
@field:[Inject Named("isDemo")]
lateinit var isDemo: Boolean
当我从此代码中删除 lateinit 时,我收到此错误 Dagger does not support injection into private fields
【问题讨论】:
-
@JvmField @field:[Inject Named("isDemo")] var isDemo: Boolean = false -
@Miha_x64 以及 Inject 和 Named 注释在哪里?!
-
@Miha_x64 谢谢,它有效!
-
@Miha_x64 请添加您的答案。给 cmets 点赞太无聊了。
标签: android dependency-injection kotlin dagger-2 kotlin-lateinit