Android Dagger2将演示者注入Kotlin活动错误
我使用Dragger 2将演示者注入Kotlin活动,演示者为空,以下是我的代码:Android Dagger2将演示者注入Kotlin活动错误,android,kotlin,dagger-2,kotlin-android-extensions,Android,Kotlin,Dagger 2,Kotlin Android Extensions,我使用Dragger 2将演示者注入Kotlin活动,演示者为空,以下是我的代码: class CategoryDetailActivity : MvpActivity<ProductFilterView,ProductFilterPresenter>(), ProductFilterView { private lateinit var presenter: ProductFilterPresenter @Inject set override fun
class CategoryDetailActivity : MvpActivity<ProductFilterView,ProductFilterPresenter>(), ProductFilterView {
private lateinit var presenter: ProductFilterPresenter
@Inject set
override fun onCreate(savedInstanceState: Bundle?) {
initialInjector()
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_category_detail)
initData()
initEvent()
}
private fun initialInjector() {
DaggerProductFilterComponent.builder()
.applicationComponent(applicationComponent)
.productFilterModule(ProductFilterModule())
.build()
.inject(this)
}
override fun getPresenter(): ProductFilterPresenter {
return presenter!!
}
如果我用java来做,就没问题。Dagger 2不使用setter来注入字段,而是直接赋值。因此,正确的版本是:
@Inject internal lateinit var presenter: ProductFilterPresenter
请注意,Dagger 2要求可注入字段至少为
内部
,私有
将不起作用。Dagger 2不使用setter来注入字段,它直接赋值。因此,正确的版本是:
@Inject internal lateinit var presenter: ProductFilterPresenter
请注意,《匕首2》要求可注入字段至少为
内部
,私有
无效。不客气!如果你能接受答案,我将不胜感激。不客气!如果你能接受这个答案,我将不胜感激。