最近,我下载了Roboguice
并进行了尝试。总的来说,我喜欢它,并且我认为它可以简化Android开发过程中的某些方面,但是我遇到了一种尚未找到解决方案的情况:我想注入一个类,但是该类有一个或多个其他的构造函数。参数。
在这种情况下,我将如何指定选择用于实例化的构造函数,并将值传递给构造函数?
例如,我的类TestRobo
具有2个构造函数,我想从第二个构造函数实例化该对象,并传递firstName
,lastName
作为参数:
public class TestRobo implements ITestRobo {
public TestRobo(String fullName) {
//....
}
public TestRobo(String firstName, String lastName) {
//...
}
}
现在,如果我像这样注入它:
@Inject
private ITestRobo testRobo;
它引发了一个例外,即找不到合适的构造函数。
最佳答案
您需要将ITestRobo绑定到其TestRobo实现。您可以通过在ITestRobo上添加@ProvidedBy(TestRobo.class)批注来执行此操作,也可以在configure()方法中添加模块并将bind(ITestRobo.class).to(TestRobo.class)。
关于android - Roboguice-使用参数实例化构造函数中的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12369540/