Передача данных из Activity в Fragment с помощью Otto

В моем приложении я добавляю Fragments динамически в контейнер в основном представлении активности. Я хотел бы знать, как лучше всего передавать данные при использовании Отто при добавлении фрагмента. В настоящее время это то, как я это делаю, пожалуйста, например, я не отправляю свой CustomObject

Внутри моей основной деятельности

getSupportFragmentManager().beginTransaction() .add(R.id.fragment_container, MY_CUSTOM_FRAGMENT).commit(); BusProvider.getInstance().post(produceCustomString()); 

Внутри моего фрагмента

  @Subscribe public void onCustomStringChanged(String customString) { } 

Методы, аннотированные с помощью @Subscribe будут @Subscribe автоматически, если у вас также есть метод @Produce для того же типа.

Лучший способ информировать новые фрагменты данных, подобных этому, – это метод @Produce в отношении активности:

 @Produce public String produceCustomString() { return "Hello, World!"; } 

И тогда все ваши фрагменты, которые имеют методы @Subscribe :

 @Subscribe public void onCustomStringEvent(String event) { // ... } 

Когда вы регистрируете фрагмент, который имеет этот метод, Отто @Produce метод @Produce для действия, чтобы получить последнее значение, которое оно передаст методу фрагмента.