Roboguice вводит другой контекст

Я использую пользовательский контекст в приложении для Android и использую Roboguice для инъекций (я использую ActionBarSherlock, поэтому я использую robosherlock)

Этот настраиваемый контекст использует некоторые поля, которые инициализируются при вызове onCreate.

Далее у меня есть Фрагмент, подпись которого выглядит так:

public class CustomFragment extends RoboSherlockListFragment

и я пытаюсь ввести свой собственный контекст:

@Inject
private CustomContext mContext;

Когда я пытаюсь получить доступ к частному полю, инициализированному в контексте CustomApplication, с помощью метода getPrivateField(), я получаю значение null, как если бы контекст был новым и не использовал повторно старый.

Может ли кто-нибудь помочь мне?

Спасибо!


person Javier Manzano    schedule 09.01.2013    source источник


Ответы (1)


Я не знаю, как именно работает этот ваш CustomContext, но когда RoboGuice встречает аннотацию @Inject, для которой у него нет определенного правила привязки (строка bind(CustomContext.class) в вашем модуле), он просто создает новый объект, используя значение по умолчанию. конструктор.

Вероятно, вам следует создать собственный провайдер, который содержит логику того, где получить этот конкретный CustomContext.

person Jeroen    schedule 02.05.2013