繁体   English   中英

每个活动的Dagger 2自定义范围

[英]Dagger 2 Custom Scope for each Activity

我是否需要为每个活动创建每个范围? 我不能仅为片段的每个活动定义默认范围吗?

您可以轻松地将@ActivityScope@ActivityScoped对象应用于多个同级活动组件,并且它将按您期望的方式工作:只要为每个活动实例创建一个新的子组件,则每个子组件都可以访问@ActivityScope绑定,将存在于它们各自的组件中。

@ApplicationScope @Component(/* ... */)
interface ApplicationComponent {
  FooActivitySubcomponent createFoo();
  BarActivitySubcomponent createBar();
  // ...
}

@ActivityScope @Subcomponent(/* ... */)
interface FooActivitySubcomponent {
  void inject(FooActivity activity);
  // ...
}

@ActivityScope @Subcomponent(/* ... */)
interface BarActivitySubcomponent {
  void inject(BarActivity activity);
  // ...
}

当然, Module.subcomponents是在生产中指定子组件的更好方法,当然dagger.android是创建这样的结构的自动方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM