在基类中注入注释 - Dagger 仍然希望添加可注入构造函数



我正在使用dagger。具有以下类:

class A {
 @Inject
 MyClass myClass;
}
class B extends A {
 myClass.do();
}

尝试编译时,我得到

B上没有可注射的成员。是否要添加注射剂 构造 函数?

当将myClass移动到B时,所有内容都会编译。知道可能有什么问题吗?

Dagger 无法知道A的所有子类型,因此它不知道它需要为像 B 这样的类生成适配器。

添加带有 @Inject 的 no-arg 构造函数将强制生成可用于在 B 实例上执行注入的代码。您还可以在模块的injects=列表中列出B.class以强制生成适配器。

最新更新