Dagger - class has no injectable members

南笙酒味 提交于 2019-12-19 05:46:12

问题


I'm trying to integrate Dagger into my application. And I ran into a problem. I'm getting this error at runtime:

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

I tried looking into other, similar answers, but nothing helped me so far...

Everything related to graph construction is implemented pretty much like in Android Activity Graphs example.

I have two modules ActivityModule and 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);
    }
}

And another

@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);
    }
}

What am I doing wrong?

UPDATE:
Adding more details:

Fragment:

public class LoginFragment extends BaseFragment {

    //...

    @Inject
    NavigationController navigation;

    //...

Navigation controller:

public class NavigationController {

//...

public NavigationController(BaseActivity activity) {
    this.activity = activity;
}

//...
}

回答1:


Question was answered in this Dagger GitHub issue #372



来源:https://stackoverflow.com/questions/20932725/dagger-class-has-no-injectable-members

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!