Дано N фрагментов, представляющих разные UI одного и того же объекта. Фрагменты отображаются условно. Состояние известно только во время выполнения. Каждый фрагмент должен иметь одинаковый поток навигации.
Как обобщить / абстрагировать навигационный поток из фрагментов для дальнейшего повторного использования с помощью XML-графа компонента архитектуры навигации? В настоящее время я вижу только способ создания отдельного пункта назначения или вложенной навигации для каждого фрагмента, но это ужасная идея с точки зрения повторного использования. Другой вариант - сделать все условные переходы в коде Kotlin / Java, но в этом случае поток приложения не будет отображаться в схеме графа навигации. Есть ли лучший способ повторно использовать навигацию?
Официальная документация по этой теме весьма банальна: https://developer.android.com/topic/libraries/architecture/navigation/navigation-conditional
Проблема Issuesetracker.google.com/issues/80029773 еще не устранена. Вы можете пометить его, если хотите его посмотреть.
Я не понимаю, как эта система отслеживания проблем связана с вопросом
Простите, я пропустил вопрос. Что касается этого вопроса, я не нашел изящного способа, и из-за множества других проблем (например, по ссылке выше) я отказался от библиотеки навигации и переключился на github.com/ncapdevi/FragNav. Библиотека навигации IMO еще не готова. Кажется, что единственный способ создать динамический график - программный. Если вы хотите, вы можете создать запрос функции.
Фрагменты можно повторно использовать с Компонент архитектуры навигации, чтобы код оставался эффективным.
Например, у меня есть вложенный дочерний фрагмент с именем ContentFragment в моем ГлавнаяФрагмент, который содержит контент. Я повторно использую ContentFragment для отображения другого типа контента, запущенного на отдельном экране.
Выберите Новое направление в средстве дизайна NavGraph, чтобы добавить фрагмент.

Передайте аргумент как во вложенный фрагмент, так и во фрагмент, запущенный с помощью NavGraph, чтобы фрагмент мог прочитать аргумент и предоставить соответствующую логику для каждого случая.
a) Для вложенного фрагмента я передаю аргумент через пакет, как обычно в эпоху до компонентов навигации с фрагментами.
б) Для нового экрана я выбираю Фрагмент, добавленный в NavGraph, и нажимаю кнопку + в разделе аргументов. Затем вы можете следовать документация для добавления аргументов с помощью компонента навигации.

Как вы справляетесь с навигационными направлениями в этом случае? Допустим, ContentFragment используется в двух навигационных графах.
@YellowJ, Лучшая стратегия - реализовать вложенные графы навигации для общих экранов. См .: Создание навигационных графиков и Вложенные навигационные графы
У меня тоже есть такой же опыт, есть ли у вас какое-нибудь решение?