EventBus не работает при попытке установить связь между двумя фрагментами

У меня есть три фрагмента в окне просмотра, настроенных как раскладка со скользящей вкладкой. Мне нужно передать строковое значение из одного фрагмента в другой.

Во-первых, я попытался настроить интерфейс, например, ответы здесь предлагают Как передать данные между фрагментами, что не работает для меня. Идея состоит в том, что Фрагмент А рассказывает об Основном действии, а затем Основное задание сообщает Фрагменте Б.

Поэтому я искал разные ответы

http://android-er.blogspot.com/2012/06/communication-between-fragments-in.html

Выглядело многообещающе, но не сработало, потому что я не мог использовать те же функции с моим кодом, так как я настроил свой просмотрщик страниц с помощью Google tabg SlidingTlayout вместо старой панели действий.

Теперь я наткнулся на EventBus. И я действительно думаю, что это мой ответ. Я добавил его в свой код, как предлагают оба ответа ниже. Ничего не падает, но ничего не работает.

Я нахожу это в logcat:

D / Event: нет подписчиков, зарегистрированных для класса события tk.abestudying.atob.TextChangedEvent D/Event: нет подписчиков, зарегистрированных для класса события de.greenrobot.event.NoSubscriberEvent

Связь между фрагментами в ViewPager

Связь между вкладками SlidingTabLayout

Вот мой код: ссылка удалена

Пожалуйста помоги. Я часами пробовал решения, но я в тупике. Спасибо.

Редактировать: я получил это работать, будучи осторожным и переписывая код.

1 ответ

Решение

Похоже, вам не хватает @Subscribe аннотаций. Согласно README метод подписки должен выглядеть так:

@Subscribe public void onEvent(AnyEventType event) {/* Do something */};

Другие вопросы по тегам