2015-10-19 5 views
0

Я хочу, чтобы отправить данные по активности на мой фрагмента, используя эфирное масло автобус событийDagger 2 + Event автобус

С моей деятельности:

@Produce 
public EventAvailableEvent produceEvent() { 
    return new EventAvailableEvent(mEvent); 
} 

фрагменту:

@Subscribe 
public void onProvideEvent(EventAvailableEvent event) { 
    mEvent = event.getEvent(); 
} 

I» м с использованием кинжала 2 для ввода шин

@Inject Bus mBus; 

private void injectDepedencies() { 
    App.from(getActivity()).getComponent().plus(new MyModule(mEvent)); 
} 

Мой модуль зависит от события, возвращаемого шиной событий.

Прямо сейчас, что я делаю, впрыскивать первый основной компонент, зарегистрировать шину, затем вводит подкомпонент

AppComponent appComponent = App.from(getActivity()).getComponent(); 
appComponent.inject(this) 
mBus.register(this) 
SubComponent subComponent = appComponent.plus(new MyModule(mEvent)); 
subComponent.inject(this) 

Я ищу лучший способ для этого, благодаря

ответ

0

Так как я думаю, ваши SubComponent является подкомпонентом AppComponent, который наследует все предоставленные элементы. Described here

Это отношение позволяет реализации субкомпонента наследовать весь график привязки от родителя при его объявлении.

Это означает, что вы можете просто выбросить первые 2 строки, и вам просто нужно создать свой субкомпонент.

App.from(getActivity()).getComponent().plus(new MyModule(mEvent)).inject(this); 
mBus.register(this); 

На самом деле было бы достаточно.

Смежные вопросы