ApplicationComponent.java
Dagger2サブコンポーネントモジュールのオーバーライド
@Component(modules = SomeModule.class)
@ApplicationScope
public interface ApplicationComponent {
// stuff
ActivityComponent activityComponent();
}
ActivityComponent.java
@Subcomponent(modules = AnotherModule.class)
@ActivityScope
public interface ActivityComponent {
// stuff
void inject(MainActivity mainActivity);
}
SomeModule
はthisのようなものを使用してオーバーライドすることができます。でも、AnotherModule
はどうですか?
2つのコンポーネントを分離する方法がありますが、親からバインディングを再利用したい場合はどうすればよいですか?
編集:
MainActivity.java
onCreate(Bundle bundle) {
getApplicationComponent().getActivityComponent().inject(this);
}
EDIT2:
ActivityRyle.java
init() {
application.setComponent(DaggerApplicationComponent.builder()
.someModule(new TestSomeModule(application))
.build();
}
EDIT3:私は(ここで、メインApplication
に配線あまりにも多くのものを避けるためにしようとしていますコンポーネントが作成されます)。
あなたの質問に関連するすべてを必ず含めてください。外部サンプルにリンクするだけではありません。 –