Как снавигировать с ViewPager2 в другой фрагмент (JetpackNavigation)?
У меня сингл активити, в нем fragmentHome содержит viewpager2.
Во fragmentHome находится FragmentFirst.
При нажатии на кнопку должно снавигировать во FragmentSecond (его нету в Viewpager2), тоесть там нету совсем viewpager2. У меня бросает ошибку: java.lang.IllegalArgumentException: navigation destination com.example.mymessangerfcm:id/action_FirstFragment_to_SecondFragment is unknown to this NavController
А теперь внимание вопрос: почему это происходит и как решить проблему?
Ответы (2 шт):
Вы можете использовань navController только для навигации внутри одного NavFragment. Т.е. для вашего кейса вы должны иметь примерно такой флоу. Есть активити в ней NavController в котором живет и ваш FirstFragment который является хостом для ViewPager и SecondFragment. Тогда вы можете из ViewPager отдавать событие в FirstFragment и оттуда вызывать SecondFragment.
Из того, что я увидел в вашем коде, у вас вероятно SecondFragment и фрагменты ViewPager-а находятся в разных NavController
Вообщем надо глобал навигейшн использовать : You should use the Global Action. When you are inside the viewpager, actually you are in a different navigation. So, you should make your action as Global. You can check the Global Action from official website :
https://developer.android.com/guide/navigation/navigation-global-action
After the making action as global, you can navigate like this;
findNavController().navigate(R.id.action_global_FirstFragment_to_SecondFragment) Note: If you don't see global action after the doing it, rebuild your project.

