Jetpack навигация к общему месту назначения - PullRequest
0 голосов
/ 22 октября 2018

Я использую новый новый Navigation-API в Jetpack, и я столкнулся с проблемой, которую не могу найти удовлетворительного решения.

По сути, приложение, которое я создаю, имеетбольшое количество разных фрагментов.Большинство фрагментов говорят с бэкэндом, и когда они это делают, они могут обнаружить, что время их сеанса истекло.Когда это происходит, я хочу перейти к логин-фрагменту.Единственный способ сделать это - создать действие для каждого фрагмента, указав место назначения на экране входа в систему.Это много котельной плиты, которую я бы предпочел избежать.Есть ли более простой способ сделать это?

1 Ответ

0 голосов
/ 24 октября 2018

Для этого варианта использования вы можете использовать глобальное действие.Чтобы создать глобальное действие, выберите нужный пункт назначения на графике навигации.Щелкните правой кнопкой мыши и в меню выберите «Добавить действие» и нажмите «Глобальный», это создаст глобальное действие внутри корневого элемента навигационного графика:

<action android:id="@+id/action_global_signInFragment" app:destination="@id/signInFragment"/>

Теперь вы можете использовать глобальные действия, вызывая навигацию () и передав ему идентификатор нужного глобального действия:

NavHostFragment.findNavController(this).navigate(R.id.action_global_signInFragment)

https://developer.android.com/topic/libraries/architecture/navigation/navigation-global-action

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