FragmentManager уже выполняет транзакции после findNavController (). PopBackStack () - PullRequest
0 голосов
/ 28 марта 2020

У меня есть фрагмент профиля, которым я управляю с помощью NavgitaionComponents bottomNavigationView, дело в том, что отсюда я хочу выйти из системы моего пользователя, я делаю это, делая это

 override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        Glide.with(requireContext()).load(FirebaseAuth.getInstance().currentUser?.photoUrl).centerCrop().placeholder(GlideProgress.setupCircularProgress(requireContext())).into(profile_photo)
        txt_profile_name.text = FirebaseAuth.getInstance().currentUser!!.displayName
        txt_email.text = FirebaseAuth.getInstance().currentUser!!.email
        btn_signout.setOnClickListener {
            showSignOutProgress()
            AuthUI.getInstance().signOut(requireContext()).addOnSuccessListener {
                FirebaseAuth.getInstance().signOut()
                startActivity(Intent(requireContext(),MainActivity::class.java))
                findNavController().popBackStack()
            }.addOnFailureListener {
                hideSignOutProgress()
            }
        }
    }

My MainActivity обрабатывает, к какому графу навигации перейти go в зависимости от того, вошел ли пользователь в систему или нет, если он вошел в систему, он будет go отображать график main_navigation, а если нет - график входа в систему login_navigation

Теперь, когда я запускаю свою учетную запись после успешного выхода из системы , когда я обнаруживаю NacController (). popBackStack (), я ожидаю, что текущий фрагмент профиля выскочит и извлечет все фрагменты backstack, поэтому в моем фрагменте входа в систему, когда я go возвращаюсь назад, я не могу вернуться к своему фрагменту профиля

но это происходит

Невозможно приостановить активность FragmentManager уже выполняет транзакции

1 Ответ

0 голосов
/ 28 марта 2020

Решено, мне нужно было завершить sh всю операцию, содержащую основную навигацию, вместо того, чтобы просто вставить фрагмент профиля

добавлено

requireActivity().finish()

вместо

findNavController().popBackStack()
...