Повторное создание действия, содержащего фрагмент, не работает нормально, если действие началось с startActivityForResult - PullRequest
0 голосов
/ 03 августа 2020

У меня есть Activity, который содержит Fragment и должен быть recreated при изменении темы (темная -> светлая или светлая -> темная). Чтобы воссоздать Activity (а также Fragment), я вызываю «getActivity().recreate» из Fragment. Когда я начал Activity, используя startActivity, все работает нормально, но когда я запустил Activity, используя startActivityForResult, новый Fragment добавляется в стек вместо замены существующего и, когда я нажимаю Кнопка «Назад» отображается предыдущая, и мне нужно снова нажать кнопку «Назад», чтобы вернуть активность вызывающего абонента. Можно ли предотвратить это и принудительно воссоздать активность, чтобы не дублировать Fragment? Я пробовал getFragmentManager().beginTransaction().dettach(f).attach(f).commit() вместо recreate, но в этом случае зависимости темы не восстанавливаются правильно.

...