Если фрагменты тесно связанные друг с другом, просто не запускают их в отдельных видах деятельности. Для случая с одной панелью вы можете просто переключать фрагменты в пределах одного действия.
В противном случае, если вы хотите отделить их между действиями, вам нужно использовать модель onActivityResult() для распространения результатов назад, а в случае с двумя панелями «эмулировать» это просто второй вызов onActivityResult() первого фрагмента. Обратите внимание, что Fragment.setTargetFragment() содержит аргумент кода запроса, чтобы облегчить это.
I have activity A loading Fragment F1 which loads fragment F2
IMHO, фрагменты не должны загружать другие фрагменты. Выполняет загрузку фрагментов, основываясь на доступном пространстве экрана. Фрагменты не должны знать и не учитывать, существует ли какой-либо другой фрагмент в текущей деятельности, или если другие фрагменты находятся в других действиях.
I have F2 calling back to activity A to pop it off of the stack. Should I then be looking at passing a message to F1 to do what it needs to do?
Да.
What I'm wondering is whether I'm on the right track with regards passing messages back and forwards via the parent activity or is there a more direct way of F1 responding to F2 performing something that requires it to be closed and F1 do what it needs to do.
У меня не было бы F1, даже знаю, что F2 существует, или наоборот. Когда пользователь делает что-то в F1, что должно привести к большому смещению контекста (например, отобразить некоторые другие фрагменты/действия), F1 должен сообщить об активности хостинга, возможно, через интерфейс прослушивателя, зарегистрированный в F1 (для поддержки нескольких возможных действий хостинга) , Затем деятельность будет способствовать тому, чтобы F2 появлялся либо в своей собственной деятельности, либо в другой деятельности. Точно так же, когда F2 завершает работу, он будет информировать свою деятельность по хостингу через интерфейс прослушивателя, и эта деятельность может перенаправить управление обратно в соответствующее место.
Я несколько скептически отношусь ко всему вашему «F2 выполняет действие, которое должно привести к его закрытию», если только F2 не является диалоговым.
Любые идеи кто-нибудь? Мне действительно нужна помощь! – user788511
+1 для приятной презентации ребята –