В моем приложении у меня есть фрагмент, который открывает фрагмент диалога. В моем фрагменте диалога я беру на себя ввод от пользователя некоторых настроек, которые сохраняются в статическом классе, но мне нужен слушатель, чтобы сообщить моему фрагменту, что диалог был закрыт.OnDismissListener в DialogFragment
Я использую код из первого ответа этой ссылки stackoverflow question, но эта часть кода не работает, потому что у меня есть фрагмент, а не активность. Метод onDismiss вызывается в диалоговомфрагменте, но оператор if терпит неудачу и поэтому не вызывает фрагмент. Я попытался заменить эту часть с помощью getFragmentManager и с getParentFragment и get/setTargetFragment, но не работает.
Кто-то может мне помочь?
public void onDismiss(final DialogInterface dialog) {
super.onDismiss(dialog);
// code I've tried
final FragmentManager fragment = getFragmentManager();
if (fragment instanceof DialogInterface.OnDismissListener) {
((DialogInterface.OnDismissListener) fragment).onDismiss(dialog);
}
// original answer code
/*final Activity activity = getActivity();
if (activity instanceof DialogInterface.OnDismissListener) {
((DialogInterface.OnDismissListener) activity).onDismiss(dialog);
}*/
}
Вы пробовали обратный вызов интерфейса? – droidev
Я довольно новичок в Android, вы можете объяснить мне больше, пожалуйста? – pnappa
проверить ответ – droidev