#android #android-navigation-graph
#Android #android-navigation-graph
Вопрос:
Новый навигационный компонент Android — это то, что, по-видимому, рекомендуется. Я следую официальному руководству по вложенности графов.
Чтобы сгруппировать пункты назначения во вложенный граф, выполните следующие действия:
В редакторе навигации нажмите и удерживайте клавишу Shift и щелкните пункты назначения, которые вы хотите включить во вложенный график. Щелкните правой кнопкой мыши, чтобы открыть контекстное меню, и выберите Переместить во вложенный график> Новый график. Пункты назначения заключены во вложенный граф. На рисунке 2 показан вложенный график в редакторе навигации:
Пока все работает хорошо, у меня только одна проблема. Все вложенные графики являются частью одного большого XML-файла, это проблема, поскольку это может привести к конфликтам слияния при использовании системы управления версиями.
Итак, мой вопрос в том, можем ли мы иметь такую же функциональность, если мы просто создадим два навигационных графика и включим новый график в качестве пункта назначения? Будет ли все работать так, как ожидалось, или это приведет к непредвиденным последствиям. Например, возврат к корню навигационного контроллера? Я не очень хорошо знаком с Android, но боюсь, что создается новый навигационный контроллер, и я не могу легко перемещаться при наличии двух навигационных графиков.
Кажется, в руководстве об этом ничего не упоминается.
Ответ №1:
Согласно ссылке другие навигационные графики с <include>
:
Хотя функционально это то же самое, что и использование вложенного графика, include позволяет использовать графики из других модулей проекта или из библиотечных проектов
An <include>
расширяется во время выполнения для работы идентично вложенному графу — нет никакой разницы в том, что вы можете сделать в отношении перехода к другим пунктам назначения и т.д.
Однако обратите внимание, что безопасные аргументы не работают в отдельных файлах навигационного графика (поскольку вы можете включить этот график в несколько других графиков, поэтому нет гарантии, что что-либо за пределами этого файла действительно «безопасно» существует), поэтому вам нужно будет подтвердить, что любое использование безопасных аргументов находится в пределах одного файла(использование других механизмов, таких как навигация вручную или навигация по глубокой ссылке, для перехода к графам, которые, как вы знаете, существуют, но не могут быть проверены во время компиляции).