Я планирую иерархию просмотра, как это:
По сути, основной фрагмент может запускать навигацию внутри контроллера навигации нижнего листа, фрагмент нижнего листа также может запускать навигации внутри контроллера навигации нижнего листа и отправлять события / данные в основной фрагмент.
Например, предположим, что основной фрагмент имеет сетку элементов, а фрагмент нижнего листа показывает детали последнего нажатого элемента. Пользователь может нажать кнопку внутри деталей в фрагменте нижнего листа, скажем, кнопку «Заказать сейчас», и теперь это событие должно быть перенесено в основной фрагмент. Пожалуйста, не привязывайтесь к этому конкретному случаю использования, это лишь пример, который я делаю, чтобы проиллюстрировать необходимость.
Мой вопрос: как мне преодолеть разделение, обеспечиваемое навигационными контроллерами в Android Jetpack? Существует множество документов о том, как использовать общие Activity
и т. Д. Для управления связью между Fragments
, которые совместно используют один и тот же экран, но теперь появился новый Navigation Controller, который приносит новые абстракции, разъединяющие обработку Fragment
, поэтому я Я не уверен в том, что делать дальше.
Я думал о том, чтобы, возможно, использовать Singleton
для передачи событий / данных, возможно, с LiveData
внутри, но я думаю, что могут быть более элегантные решения.