0
1つのアクティビティごとに各スコープを作成する必要がありますか?フラグメントのすべてのアクティビティにデフォルトスコープしか定義できないのですか?ダガー2各アクティビティのカスタムスコープ
1つのアクティビティごとに各スコープを作成する必要がありますか?フラグメントのすべてのアクティビティにデフォルトスコープしか定義できないのですか?ダガー2各アクティビティのカスタムスコープ
あなたは簡単に複数の兄弟の活動コンポーネントに適用さ@ActivityScope
または@ActivityScoped
オブジェクトを持つことができ、そしてそれはあなたが期待するように動作します:限り、あなたはアクティビティインスタンスごとに1つの新しいサブコンポーネントを作成すると、その後、それぞれが@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は、このような構造を作成するための自動的な方法です。
あなたのニーズによって異なります。あなたのインスタンスはアクティビティ間で共有されるか、すべてのアクティビティはオブジェクトの独自のインスタンスを持たなければなりません – Fakher