Dagger 2.10 添加抽象模块

Dagger 2.10 add abstract module

我正在执行 Jeff Bowman 在 中描述的操作,并且运行良好。 现在我想添加只有 @Binds 的抽象模块 我该怎么做?

在我覆盖 seedInstance 之后,我的 activity 在那个抽象模块中不可见,所以我可能应该向 seedInstance

添加一些东西

如果你的模块是一个抽象 class 或接口,或者它有一个 public 无参数构造函数,你可以将它添加到你的模块列表而不提供实例,一切都应该正常工作美好的。这意味着:

@Subcomponent(modules = {YourAbstractModule.class /*, ... */})
public interface YourActivitySubcomponent extends AndroidInjector<YourActivity> {

或使用@ContributesAndroidInjector:

@ContributesAndroidInjector(modules = {YourAbstractModule.class /*, ... */})
@YourScope
abstract YourActivity bindYourActivityInjector();