匕首找不到注射成员

时间:2013-10-24 22:11:54

标签: android dagger

我一直在尝试使用Dagger(v1.1.0)为我的Android应用程序设置活动图。虽然它编译得很好,但我得到如下所示的错误(完整跟踪here):

No injectable members on com.f2prateek.couchpotato.ui.ActivityActionBarController. Do you want to add an injectable constructor? required by class com.f2prateek.couchpotato.ui.fragments.DetailedMovieGridFragment

我会尽力突出重要的部分,但如果我错过了什么,我的完整项目就在GitHub。只需运行./gradlew clean assemble即可构建apk。

我的ActivityModule具有Dagger似乎无法找到的提供商方法。

@Provides @Singleton ActivityActionBarController provideActionBarTitleController() {
    return new ActivityActionBarController(activity);
}

这个模块肯定被添加到我的BaseActivity中的applicationGraph(后来保存为activityGraph)中,BaseFragment将自己注入activityGraph。

1 个答案:

答案 0 :(得分:0)

Dagger使用注释处理器来编写代码。如果您的课程没有注释,则无法找到它。确保为每个类添加注释。例如。如果要注入成员,则必须使用@Inject。尝试确保您注入的所有类都列在@Module(inject = ...)下。尽量确保所有类都在某个模块类中列出。