여러 활동이 있고 각 활동마다 별도의 Dagger2 구성 요소가 들어 있다고 가정 해 보겠습니다. 그래서 FooActivity
은 FooComponent
이고 BarActivity
은 BarComponent
입니다. 또한 일부 뷰 그룹을 두 활동 모두에서 사용할 수 있고 단검 그래프를 통해 일부 종속성을 받아야합니다 BazViewGroup
가정 해 봅시다. 이 뷰 그룹의 인스턴스에 종속성을 주입하는 가장 좋은 방법은 그것이 속한 활동을 미리 알지 못하기 때 문입니다.다른 Dagger2 구성 요소의 같은 클래스에 주입하는 방법은 무엇입니까?
- 모든 활동이 활동
모든 구성 요소에 포함 된 구성 요소를 반환하는 방법
getComponent()
공개 인터페이스와 같은public interface CanInjectIntoBazViewGroup { void inject(BazViewGroup viewgroup); }
내부 BazViewGroup의 constructor에 확장 :
는 지금은 다음과 같은 설정을 가지고 나는 액티비티에 대한 참조를 얻고, 컴포넌트를 얻으려면
CanInjectIntoBazViewGroup
으로 캐스팅하고inject
메서드를 호출하십시오.
더 좋은 방법이 있습니까?