9
我試圖將Dagger整合到我的應用程序中。我遇到了一個問題。我在運行時收到此錯誤:匕首 - 類沒有注射成員
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
我試圖尋找到其他類似的答案,但沒有任何幫助了我那麼遠,
以圖構建相關的一切都實現非常像在Android Activity Graphs例。
我有兩個模塊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'? –
是的,我喜歡。我已經更新了我的問題。 –
如果你只是刪除不完整模塊中的'inject'部分 –