Навигация по Android, я могу переместить любой фрагмент, который не связан - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь использовать компонент архитектуры навигации в своем игрушечном приложении.

Сначала я нарисовал взаимосвязь фрагментов в моем "nav_graph.xml".

Например, я нарисовал 3 фрагментаA, B и C, как показано ниже:

A -> B -> C

Итак, у меня есть 2 действия:

  • action_a_to_b
  • action_b_to_c

В общем, я использую приведенный ниже код для перемещения другого фрагмента.

В фрагменте A,

findNavController().navigate(ADirections.actionAToB())

В фрагменте B,

findNavController().navigate(ADirections.actionBToC())

Но вы, наверное, знаете, есть и другой способ навигации.Идентификатор фрагмента можно использовать для прямой навигации, как показано ниже:

findNavController().navigate(R.id.a)

В моем случае у меня нет действия для фрагмента от А до С.Но если я использую приведенный ниже код в своем фрагменте A, я могу ориентироваться!

findNavController().navigate(R.id.c)

Это ошибка?или намерены?

1 Ответ

0 голосов
/ 11 февраля 2019

Это преднамеренно согласно документации для navigate():

. Это поддерживает как навигацию с помощью action , так и прямую навигацию к пункту назначения.

Если вы используете Safe Args , то поддерживаются только действия.Это гарантирует, что вы используете только те соединения, которые вы указали на графике.

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