9
대거를 내 애플리케이션에 통합하려고합니다. 그리고 나는 문제를 만났다. 건설을 그래프로 관련대거 - 클래스에 주사 가능한 멤버가 없습니다.
모든 것이 Android Activity Graphs을처럼 꽤 많이 구현 ... 내가 다른 비슷한 답변을 조사하려고
java.lang.IllegalStateException: Errors creating object graph:
com.app.NavigationController has no injectable members. Do you want to add an injectable constructor? required by class com.app.fragments.LoginFragment
,하지만 아무것도 지금까지 저를 도왔 : 나는 런타임에이 오류를 받고 있어요 예.
나는 두 개의 모듈 ActivityModule
과 ApplicationModule
을 가지고 있습니다. 내가 잘못 뭐하는 거지
@Module(
includes = ApplicationModule.class,
injects = {
MainActivity.class,
LoginFragment.class
}
)
public class ActivityModule {
private BaseActivity activity;
public ActivityModule(BaseActivity activity) {
this.activity = activity;
}
@Provides
@Singleton
NavigationController provideNavigation() {
return new NavigationController(activity);
}
}
그리고 다른
@Module(
injects = {
MainActivity.class,
LoginFragment.class},
complete = false
)
public class ApplicationModule {
private Context context;
public ApplicationModule(Context context) {
this.context = context;
}
@Provides
@Singleton
ApiService provideApiService() {
....
return restAdapter.create(ApiService.class);
}
}
?
UPDATE :
추가 자세한 내용은 :
조각 :
public class LoginFragment extends BaseFragment {
//...
@Inject
NavigationController navigation;
//...
네비게이션 컨트롤러 :
public class NavigationController {
//...
public NavigationController(BaseActivity activity) {
this.activity = activity;
}
//...
}
당신이'있습니까이 단검에 대답했다 @ LoginFrag에 주석이 달린 멤버를 삽입 ment'? –
예. 내 질문을 업데이트했습니다. –
불완전 모듈에서'injects' 섹션을 제거하면 어떻게 되나요? –