Передача данных между фрагментами Android Arch Компоненты навигации - PullRequest
0 голосов
/ 26 сентября 2018

Навигация AAC может использовать собственный путь с Bundle для передачи аргументов от FragmentA до FragmentB.Но он не поддерживает передачу результатов от FragmentB до FragmentA.

Также в Обзор ViewModel SharedViewModel используется для передачи аргументов из одного фрагмента в другой.ViewModel привязан к жизненному циклу деятельности.Таким образом, в ситуации, когда FragmentA открывает FragmentB, FragmentB создает SharedViewModel для передачи данных в FragmentC и открывает их, и после этого пользователь возвращается к FragmentA SharedViewModel, который все еще жив, даже еслиэто больше не используется.Как я знаю, нет способа заставить сбросить ViewModel.

Приемлемое решение, которое я вижу, это использование единого SharedViewModel для всех фрагментов в деятельности, который управляет arguments и results, предотвращает утечку изнутри объектов.

Есть ли другиеспособ передать результаты обратно, кроме использования SharedViewModel?

Подводя итог, есть еще один вопрос.Действительно ли навигация AAC настолько хороша, что я должен использовать ее и разработать обходной путь для такой вещи?Может быть, в нем есть и другие проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...