有没有办法在不使用RoboActivity扩展Activity类的情况下使用roboguice。
答案 0 :(得分:10)
是。使用尚未测试的1.2-SNAPSHOT更容易。要使用1.2,只需将以下内容添加到onCreate(),onContentChanged()和onDestroy()中。如果您没有使用roboguice事件,则不需要有关EventManager的位:
@Override
protected void onCreate(Bundle savedInstanceState) {
RoboGuice.getInjector(this).injectMembersWithoutViews(this);
super.onCreate(savedInstanceState);
}
@Override
public void onContentChanged() {
super.onContentChanged();
RoboGuice.getInjector(this).injectViewMembers(this);
}
@Override
protected void onDestroy() {
try {
RoboGuice.destroyInjector(this);
} finally {
super.onDestroy();
}
}
如果您正在使用RoboGuice 1.1.x(最新的稳定版本),那么原理是相同的,但调用稍有不同。请查看1.1 RoboActivity source,了解您需要拨打哪些电话。
答案 1 :(得分:0)
它可以工作,但你必须实现RoboContext并声明这个
protected HashMap<Key<?>,Object> scopedObjects = new HashMap<>();