仅在构造函数中注入某些参数 [英] Inject only certain params in constructor

查看:118
本文介绍了仅在构造函数中注入某些参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有主持人

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆