使用匕首向派生 类 注入不同的依赖项
Inject different dependencies to derived classes with dagger
假设我有一个抽象 activity 具有依赖关系:
AbstractActivity {
@Inject
MyInterface obj;
}
还有几个 activity 的继任者,比如 ActivityOne
和 ActivityTwo
。
我希望为这些活动提供 MyInterface
的不同实现。我怎样才能做到这一点?
您不能,但是您可以执行以下操作
public abstract class AbstractActivity {
protected abstract MyInterface getMyObj();
}
然后将此方法重写为 return 您注入子类的实现。
假设我有一个抽象 activity 具有依赖关系:
AbstractActivity {
@Inject
MyInterface obj;
}
还有几个 activity 的继任者,比如 ActivityOne
和 ActivityTwo
。
我希望为这些活动提供 MyInterface
的不同实现。我怎样才能做到这一点?
您不能,但是您可以执行以下操作
public abstract class AbstractActivity {
protected abstract MyInterface getMyObj();
}
然后将此方法重写为 return 您注入子类的实现。