Что такое "правильный" способ вернуть значения вызывающей активности из сложного пользовательского диалогового окна - например, текстовые поля, дату или время, кучу переключателей и т.д., плюс "Сохранить" и "Отменить" "?
Некоторые методы, которые я видел в Интернете, включают:
-
публичные элементы данных в классе, создаваемом диалогом, который может быть прочитан Activity
-
публичные "get" аксессоры., "..."., "
-
Запуск диалога с помощью Intent (в отличие от show()) плюс обработчики в классе Dialog, которые берут входные данные из различных элементов управления и связывают их для передачи обратно в Activity, поэтому, когда прослушиватель обращается к "Save" пакет передается с помощью ReturnIntent()
-
Слушатели в Управлении, которые обрабатывают ввод элементов управления, которые находятся в диалоговом окне, например, поэтому слушатели TimePicker или DatePicker действительно находятся в Activity. В этой схеме практически вся работа выполняется в Activity
-
Один прослушиватель в действии для кнопки "Сохранить", а затем "Активность" непосредственно допрашивает элементы управления в диалоговом окне; Действие отклоняет диалог.
... плюс еще, что я уже забыл.
Существует ли конкретный метод, который учитывал бы канонически правильный или "лучший метод"?