在我的 Android 应用项目中,我使用的是RoboGuice。
在我的项目中,我有一个单例A 类:
@ContextSingleton
public class A{
…
public void method1(){…}
}
然后,我有另一个需要 A 实例的 B 类,因此,以 RoboGuice 的方式,我通常在 B 类中使用注入声明 A 的实例:
public class B {
@Inject private A a ;
public void action(){
a.method1(); // call method1() of class A's instance
}
}
有时,对于在 B 类中声明的 A 的实例,我得到NullPointerException。我只想验证 RoboGuice 的一个概念:
是不是为了在 B 类中注入自定义类的实例(例如 A 类),B 类必须要么注入 RoboActivity 中,要么注入到另一个已注入 RoboActivity 的类(例如 C 类)中?