Pull to refresh

Возврат результата выполнения из DialogFragment во Fragment минуя Activity

Development for Android *
Sandbox

Введение


В этой публикации я покажу, как можно передавать события из DialogFrament в вызывающий Fragment минуя Activity.

В официальном Guide по Dialogs есть раздел PassingEvents. В нем рассказано, как вернуть результат работы DialogFragment в вызывающую Activity. Для этого создается дополнительный интерфейс. Activity реализует этот интерфейс, а у DialogFrament есть ссылка на Activity.

Если инициатором вызова DialogFragment является другой Fragment, то в таком подходе нам придется сначала отправить результат в Activity, а потом уже из Activity в заинтересованный в данных Fragment. Отсюда и минусы:
  • Activity знает о деталях реализации фрагмента (сегодня это дополнительный диалог, а завтра можем реализовать все на одном фрагменте);
  • дополнительный код (больше кода = больше возможностей для ошибок).

Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 30K
Comments 15