0

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

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 中。

4

1 回答 1

0

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

于 2013-10-27T21:11:31.230 回答