我正在尝试在我的应用程序中实现Dagger并且我有一个实例,我需要在Activity类层次结构中的类中注入一个字段,但是这个类的子节点不需要注入任何成员。层次结构如下所示:
BaseActivity - > NavigationActivity - > HomePageActivity。
我正在尝试在NavigationActivity中注入一个字段但是我从Dagger得到以下异常:
java.lang.IllegalArgumentException: No inject registered for members/com.quidsi.diapers.activity.HomePageActivity. You must explicitly add it to the 'injects' option in one of your modules.
我的模块看起来像这样
@Module(
injects = NavigationActivity.class
)
public class GestureModule {
@Provides
GestureInterface provideGestureInterface() {
return new MockDrawerGesture();
}
}
这可能与Dagger有关,还是我需要注入NavigationActivity的每个孩子?
答案 0 :(得分:2)
Dagger 1是不可能的。您还必须注入子类活动。是的,遗憾的是,这意味着您必须将所有这些类添加到GestureMmodule的注入列表中。
Dagger 2就在拐角处,也许事情发生了变化。