Я использую шину событий Otto в своем приложении для Android. Я прочитал документацию GitHub и различные вопросы, размещенные в Интернете о том, как работает обход иерархии:
«Регистрация будет находить методы только для непосредственного типа класса. В отличие от шины событий Guava, Otto не будет пересекать иерархию классов и добавлять методы из базовых классов или интерфейсов, которые аннотированы».
Я так понимаю, если я пропишу шину на дочерний класс, то методы из базового класса не добавятся. Итак, мой вопрос: могу ли я зарегистрировать автобус в дочернем классе и зарегистрировать другой автобус в базовом классе?
public class BaseActivity extends Activity
...
baseBus.register(this);
@Subscribe public void baseAnswerAvailable(BaseAnswerAvailableEvent event) {
// TODO: React to the event somehow in the base class
}
public class MainActivity extends BaseActivity
...
bus.register(this);
@Subscribe public void answerAvailable(AnswerAvailableEvent event) {
// TODO: React to the event somehow
}
Будут ли вызываться оба метода baseAnswerAvailable и answerAvailable?