#android #roboguice
#Android #roboguice
Вопрос:
Есть ли способ использовать roboguice без расширения класса Activity с помощью RoboActivity.
Ответ №1:
ДА. Это проще с 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, чтобы узнать, какие вызовы вам нужно выполнить.
Ответ №2:
Это работает, но вы должны реализовать RoboContext и объявить это
protected HashMap<Key<?>,Object> scopedObjects = new HashMap<>();