Я использовал DialogFragment
для обработки диалоговых окон в приложении.Каков наилучший способ обработки обратных вызовов DialogFragment?
Я прочитал this, который дает несколько примеров о том, как использовать его, но он всегда использует такие вещи, как:
((FragmentAlertDialog)getActivity()).doPositiveClick();
((FragmentAlertDialog)getActivity()).doNegativeClick();
Я не очень нравится такой реализации, как это обязывает слепок к предварительно -known Activity, поэтому он не очень надежный.
Я также знаю, что передачи и хранение обратного вызова внутри FragmentDialog
не является хорошим вариантом, потому что, если он ссылается на активности, после поворота, например, что активность могла быть уничтожена ... и обратный вызов не обновлено.
Также обновление обратного вызова, когда активность проходит onResume
, также не очень жизнеспособный вариант, так как он должен был знать, какой диалог отображается и установить обратный вызов, связанный с ним, что делает логику немного сложной в более крупных приложениях.
Какую реализацию вы предлагаете избегать приведения при сохранении всегда самого последнего обратного вызова?