Отто: подписки на фрагменты, не получающие события

У меня есть фрагмент, и я зарегистрировал и разрегистрировал шину в методах фрагментов onResume и onPause. Используя следующие BusProvider.getInstance().register(this); и BusProvider.getInstance().unregister(this);.

У меня есть подписка, определенная так:

@Subscribe public void onLogin(LoggedInEvent event) {
    // Do Something
}

У меня также есть другая подписка на то же событие в действии, к которому прикреплен фрагмент, и эта подписка реагирует и делает свое дело. Итак, мой вопрос: почему мой фрагмент не получает событие для LoggedInEvent?

Редактировать: я также зарегистрировал/отменил регистрацию автобуса в методах onResume и onPause моей активности.

Редактировать 2: шина была создана с помощью ThreadEnforcer.ANY


person camelCaseD    schedule 17.06.2014    source источник


Ответы (1)


Я понял, что класс, который отправлял события в шину, но не работал в потоке main/ui, что вызывало непостоянство с возможностью видеть изменения, происходящие в пользовательском интерфейсе, и правильно реагировать. Итак, теперь мой класс публикуется в основном потоке, и я удалил ThreadEnforcer.ANY из создания своей шины, так что теперь все наверняка выполняется в основном потоке.

person camelCaseD    schedule 17.06.2014