使用新的(在2.10中)dagger.android类,我正在尝试使用依赖于其他模块的子组件来注入事物,因此,它有一个带有这些模块的setter的Builder.https://google.github.io/dagger/android.html上的文档描述了这一点,但不清楚如何实际编写和/或调用这些setter.
引用上面的链接:
AndroidInjection.inject()从Application获取DispatchingAndroidInjector并将您的活动传递给inject(Activity).DispatchingAndroidInjector为您的活动类(即YourActivitySubcomponent.Builder)查找AndroidInjector.Factory,创建AndroidInjector(即YourActivitySubcomponent),并将您的活动传递给inject(YourActivity).
在我看来,为了能够为Builder调用setter,我需要进入某处并确保Builder具有所有必要的数据?我看到的问题是,在运行时,我得到一个IllegalStateException: MODULE must be set,当我的子组件生成的构建器被AndroidInjector调用时.
有问题的子组件实际上是一个片段,而不是一个活动,但我不确定这是否重要.关于如何做到这一点的任何想法?