У меня проблема с общением между фрагментами. В первом фрагменте я использую прослушиватель для уведомления активности для открытия второго фрагмента и передачи ему некоторых данных с Bundle. Первый фрагмент находится в задней части. Затем открывается второй фрагмент и выполняет некоторую работу с данными. После его завершения фрагмент должен быть закрыт, и первый фрагмент должен появиться из backstack, но он должен быть уведомлен об измененных данных во втором фрагменте. Итак, мой вопрос заключается в том, как уведомить первый фрагмент, что данные изменяются во втором фрагменте?Общайтесь с фрагментом в backstack
ответ
Если вы хотите что-то более сложное для отправки сложных данных, используйте Otto http://square.github.io/otto/ или EventBus https://github.com/greenrobot/EventBus. Или вы можете использовать LocalBroadcastManager
.
На самом деле, нет прямого способа связи между Fragment
, и вам необходимо связаться с его родителем Activity
для достижения вашей цели связи. Проверьте here, официальные документы рассказали вам способ общения между Activity
и Fragment
s.
Для меня у меня есть Activity
, у которого есть два Fragments
. Поэтому, когда вы идете от Фраги ->FragB ->Фраги, вы всегда в одной и той же Activity
, даже если нажатие на кнопку назад от FragB воспитывает Фраги.
Итак, что я сделал, чтобы передать состояние, было сохранено это состояние на Activity
, так как Activity
не срывается, только Fragments
делать. Таким образом, состояние присутствует даже после нажатия кнопки возврата от FragB ->FragA.
- 1. Запрос с фрагментом backstack
- 2. Android Open Accessory - Общайтесь с фрагментом
- 3. как избежать петли с фрагментом backstack
- 4. Общайтесь в чате Общайтесь в чате
- 5. Восстановление фрагмента backstack для фрагмента с двумя возможными путями backstack
- 6. нетривиальные андроидные фрагменты backstack
- 7. Android использовать backstack с фрагментами
- 8. Общайтесь с подпроцессом в Ruby
- 9. Общайтесь с текстом в iOS
- 10. Общайтесь с родительским окном
- 11. Общайтесь с местным сервисом
- 12. Общайтесь с WallpaperService
- 13. Общайтесь Arduino с python
- 14. AngularJs Общайтесь с директивой
- 15. Общайтесь с веб-страницами
- 16. Общайтесь с несколькими эмуляторами
- 17. Проснитесь, общайтесь с услугами
- 18. Общайтесь с сервисом Android
- 19. Phone7 Общайтесь с текстом
- 20. Начало деятельности с backstack
- 21. Общайтесь с node.js с VB.NET
- 22. Общайтесь с APNS с PHP
- 23. Добавление нескольких фрагментов в транзакции с одним фрагментом
- 24. Android BackStack NavigationDrawer
- 25. Заменить фрагмент тем же фрагментом
- 26. Поиск фрагмента в backstack
- 27. YouTubePlayerFragment backstack
- 28. Общайтесь с ViewModel для просмотра
- 29. Управление backstack в Android
- 30. Общайтесь с другим, конкретным контроллером
Для этого вам нужны фрагменты хостов для действий. http://stackoverflow.com/a/12105615/1531054 –