仅在构造函数中注入某些参数 [英] Inject only certain params in constructor
本文介绍了仅在构造函数中注入某些参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有主持人
class PhonePresenter @Inject constructor(
private val preference: DataPreference,
private val ioScheduler: Scheduler = Schedulers.io())
ioScheduler
是默认参数。我只想注入 preference:DataPreference
。现在我有一个例外
ioScheduler
is a default parameter. I want to inject only preference: DataPreference
. Now I have the exception
[dagger.android.AndroidInjector.inject(T)] io.reactivex.Scheduler cannot be provided without an @Provides-annotated method.
有什么方法可以定义要注入到构造函数中的参数?
Is there any way to define parameters which I want to inject in a constructor?
推荐答案
使用辅助构造函数注入构造函数
Make inject constructor with secondary constructor
class PhonePresenter(
private val preference: DataPreference,
private val ioScheduler: Scheduler) {
@Inject consturctor(preference: DataPreference):this(perference, Schedulers.io())
}
这篇关于仅在构造函数中注入某些参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文