Есть ли способ использования roboguice без расширения класса Activity с RoboActivity.с использованием roboguice без расширения Активность
4
A
ответ
10
Да. Это проще с 1.2-SNAPSHOT, который еще не находится в бета-версии. Чтобы использовать 1.2, просто добавьте следующее к своим onCreate(), onContentChanged() и onDestroy(). Вам не нужно биты о EventManager, если вы не используете roboguice события:
@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, чтобы узнать, какие вызовы вам нужно сделать.
0
Это работает, но вы должны реализовать RoboContext и объявить этот
protected HashMap<Key<?>,Object> scopedObjects = new HashMap<>();
Я просто пойти с версии 1.2, спасибо за указывая его. –