Как я могу получить доступ к экрану входа в систему из внутреннего навигационного файла

Я новичок в Котлине и Android.

Мое приложение имеет две разные структуры навигации. Первый — это навигационный файл с именем main_activity_nav, который содержит фрагменты заставки, входа в систему, регистрации и основных фрагментов. Второй называется Bottom_bar_nav и включает в себя фрагменты корзины, профиля, избранного и домашней страницы.

Фрагменты Bottom_bar_nav (например, фрагмент профиля) отображаются с помощью navhostfragment в основном фрагменте (он находится в main_activit_nav, вы можете видеть на изображении ниже).

Подобные структуры

main_activity_navBottom_bar_nav

Вы можете подумать, что верхняя навигация main_activity_nav, а нижняя_bottom_bar_nav.

Во фрагменте моего профиля есть кнопка для выхода, и когда я нажимаю ее, я хочу вернуться на экран входа в систему и удалить все фрагменты в backstack.

Моя функция кнопки

          binding.signOutButton.setOnClickListener {
        viewModel.signOut { result ->
            if (result) {
                //Navigation process (Profile to Login Fragment and clear backStack)
            }
        }
    }

Я пытался;val navHostFragment = requireActivity().supportFragmentManager.findFragmentById(R.id.mainFragment) как NavHostFragmentnavHostFragment.navController.navigate()

Я попробовал некоторую комбинацию этого кода, но получил нулевой результат или мусор.

0 ответов