2017-05-09 2 views

답변

2

을 seedInstance 뭔가를 추가해야하거나, 당신이 할 수있는 공공 매개 변수가없는 생성자가 그래서 seedInstance 내 활동을 오버라이드 (override) 한 후

그 추상적 인 모듈 내부에 표시되지 않습니다 인스턴스를 제공하지 않고 모듈 목록에 추가하면 모든 것이 잘 작동합니다. 이는 :

@Subcomponent(modules = {YourAbstractModule.class /*, ... */}) 
public interface YourActivitySubcomponent extends AndroidInjector<YourActivity> { 

또는 @ContributesAndroidInjector를 사용하여 :

@ContributesAndroidInjector(modules = {YourAbstractModule.class /*, ... */}) 
@YourScope 
abstract YourActivity bindYourActivityInjector(); 
+0

내가지고있어 오류 : (8, 8) 오류 : [dagger.android.AndroidInjector.inject (T)]를 com.rachapps합니다. testapp.activity.MainActivity는 \ @Inject 생성자 또는 \ @ Provides-Annotated 메소드 없이는 제공 될 수 없습니다. 이 유형은 구성원 주입을 지원하지만 암시 적으로 제공 될 수는 없습니다. com.rachapps.testapp.activity.MainActivity ... – wioskamala

+1

['seedInstance'을 (를) 재정의 함 (https://github.com/RadoslawChmielewski/TempRep/blob/master/app/src/main/java/com/rachapps/) testapp/activity/MainSubComponent.java # L20), Dagger는 더 이상 그것을 '@ BindsInstance'로 계산하지 않으므로 MainActivity를 그래프에 삽입 할 수 없습니다. MainModule의 바인딩이 Dagger에 보이기 때문에 MainActivity를 만들 것을 요구하는 것처럼 보이기 때문에 그 메시지가 나타납니다. 모듈을 통해 또는 다른'@BindsInterface abstract' 메서드를 정의하여 사용할 수 있도록해야합니다. –

+0

도움 주셔서 감사합니다. – wioskamala