【发布时间】:2016-09-27 18:09:21
【问题描述】:
假设我有一个接收对象的类 Util - Validator 类的实例。
由于我想避免在 Util 中实例化 Validator 类,所以我通过构造函数将其传入:
public class Util {
@Inject
public Util(Validator validator) {
}
}
我有一个提供 Validator 实例的模块:
@Provides
@Singleton
Validator provideValidator() {
return Validator.getInstance();
}
还有一个 Util 类的实例:
@Provides
Util provideUtil(Validator validator) {
return new Util(validator);
}
我连接了一个组件,它会给我一个 Util 实例:
Util getUtil()
所以在我的活动中,我可以这样称呼它:
Util myUtil = getComponent.getUtil();
所有这些都可以正常工作 - myUtil 在实例化时具有正确的 Validator 类实例。
现在我想传入一个名为 address 的字符串变量(这是用户通过 UI 输入的)。我想更改构造函数,因此我同时传入了一个 Validator 实例和用户输入的字符串:
@Inject
public Util(Validator validator, String address) {
}
我只是不知道如何传递第二个参数。有人能告诉我怎么做吗?
理想情况下,我想像这样实例化 Util:
Util myUtil = getComponent.getUtil(txtAddress.getText());
【问题讨论】: