Я столкнулся с проблемой. Мой Activity
является контейнером фрагментов, поэтому для связи между активностью и фрагментами я использовал общий подход Callback
. В этом случае моя деятельность должна реализовывать множество интерфейсов обратного вызова в зависимости от количества фрагментов.
Мне не нравится жесткий код и нечитаемый код. В моем случае объявление класса может принимать несколько строк для отображения всех интерфейсов.
Я пытаюсь избавиться от этого.Фрагмент обратных вызовов и EventBus на Android
Существует другой подход - использовать шаблон EventBus
.
В деятельности
EventBus.getDefault().register(this);
В фрагменте
EventBus.getDetault().post(new MyEvent(description));
и обрабатывать несколько типов событий в деятельности.
Возможно, лучше будет использовать EventBus вместо стандартного подхода обратного вызова?
Или, может быть, я виноват, что в моей деятельности много фрагментов (объект Бога), и лучше использовать действия вместо Фрагмента?
Пожалуйста, подскажите, какой подход лучше?
Не будет ли свойство 'sender' в MyEvenet дать представление о том, кто поднял это событие? OP имеет 'EventBus.getDetault(). Post (новый MyEvent (описание));' – OmarBizreh
@OmarBizreh // yes. что помогает. но мы должны иметь в виду, что «отправитель» может быть _null_. – Youngjae
Я понимаю, поэтому единственный обратный путь - источник события, я собираюсь начать новый проект и использовать EventBus, есть ли что-нибудь еще, что мне нужно проверить? До сих пор все ссылки SO, которые я видел, упоминают, что источник события, безусловно, хуже всего отступает. – OmarBizreh