roboguice 什么时候@Inject
可以为空?
我有课:
@Singleton
public class MyClass extends AnotherClass{ ...
在我使用的许多地方
@Inject private MyClass mMyClass;
它工作正常。
最近我从事件总线编写了简单的类处理事件。此类在主 ui 线程中创建和注册。在这堂课中,我的注射MyClass
方式和其他地方一样,但现在是这样null
。
@Override
public void onCreate() {
super.onCreate();
...
mMyHandler = new MyHandler(this);
mMyEventBus.register(mMyHandler);
public class MyHandler{
private final Context mContext;
public MyHandler(Context context){
mContext = context;
}
@Inject private MyClass mMyClass;
public void onEventBackgroundThread(MyEvent event) {
mMyClass.someMethod; //mMyClass is null
...
}
}
我正在使用 RoboGuice 2.0。