gpt4 book ai didi

java - Dagger 2 每个 Activity 的自定义范围

转载 作者:行者123 更新时间:2023-12-02 12:04:52 29 4
gpt4 key购买 nike

我需要为每个 Activity 创建每个范围吗?我不能为 fragment 的每个 Activity 仅定义默认范围吗?

最佳答案

您可以轻松地将 @ActivityScope@ActivityScoped 对象应用于多个同级 Activity 组件,并且它将按照您期望的方式工作:只要您准确创建每个 Activity 实例一个新的子组件,然后每个子组件都可以访问位于各自组件中的 @ActivityScope 绑定(bind)。

@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是创建这样的结构的自动方法。

关于java - Dagger 2 每个 Activity 的自定义范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46968010/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com