我是Roboguice的新人,请帮忙。我有一个应用程序cal MyApplication
,其中在onCreate
方法中我初始化了一些数据。我还有一个POJO
商务逻辑,我想在我的MainActivity
中使用(参见下面的代码片段)。我需要将MyApplication
注入POJO
以访问我在应用程序onCreate
中初始化的数据,但此代码在onCreate
之前调用,并且我有{{1} }}
NullPointerException
答案 0 :(得分:3)
编辑:根据RoboGuice custom module application context中的答案,在RoboGuice 2.0中找到了一种方法。
在AbstractModule构造函数中注入应用程序上下文,然后将其绑定到configure()
中以便以后注入:
public final class MyModule extends AbstractModule
{
private final MyApplication context;
@Inject
public MyModule(final Context context)
{
super();
this.context = (MyApplication)context;
}
@Override
protected void configure() {
bind(MyApplication.class).toInstance(context);
}
}
答案 1 :(得分:1)
如果您需要的数据不需要上下文,只需访问XML资源或res / raw,您可以从任何地方注入。
只需使用Roboguice.getInjector()
即可获取Resources对象的副本。