我正在开发Android应用程序。我正在使用Dagger2进行依赖注入。我可以使用这个库,但我不知道如何注入嵌套类。
public class Parent {
@Inject
public Parent()
{}
public String getParent() {
return "fifth";
}
class ParentSubClass{
@Inject
public ParentSubClass(){
}
public String getParentSubClass(){
return "subfifth";
}
}
}
class SomeTest{
@Inject
Parent.ParentSubClass subclass;
}
我知道注入父类但是如何为parentsubclass创建对象
答案 0 :(得分:1)
@Inject
构造函数,正如Dagger在logcat中告诉我们的那样:
错误:@Inject构造函数对内部类public ParentSubClass()
无效
如果您想提供内部课程,则应使用@Provides
方法提供:
@Provides
internal fun provideSubclass() : ParentSubClass {
return Parent().ParentSubClass()
}
答案 1 :(得分:0)
示例中的嵌套类可以访问其所有父属性,因此您可以在父级中注入所需的所有依赖项,然后再使用子类中的那些依赖项。