I/FragmentNavigator: Игнорирование вызова navigate (): FragmentManager уже сохранил свое состояние

#android-studio #kotlin #android-fragments #bottomnavigationview

#android-студия #котлин #android-фрагменты #вид снизу вверх

Вопрос:

Я пытаюсь создать один элемент навигации для своей игры, и фрагменты этого элемента навигации автоматически меняются с помощью функции switchFragment(). Другой элемент навигации, который я сделал для статистики, но когда я использую switchfragment (), панель навигации не отвечает, и я получаю сообщение об ошибке: Игнорирование вызова navigate (): FragmentManager уже сохранил свое состояние

 class MainActivity : AppCompatActivity() {  private lateinit var binding: ActivityMainBinding private val gameViewModel: GameViewModel by viewModels() private lateinit var navController: NavController  val gameFragment = GameFragment() val guessWordFragment = GuessWordFragment() val loseScreenFragment = LoseScreenFragment() val winScreenFragment = WinScreenFragment() val statsFragment = StatsFragment()  override fun onCreate(savedInstanceState: Bundle?) {  super.onCreate(savedInstanceState)   binding = ActivityMainBinding.inflate(layoutInflater)  setContentView(binding.root)   val navHostFragment = supportFragmentManager  .findFragmentById(R.id.fragment_activity_main) as NavHostFragment  navController = navHostFragment.navController   NavigationUI.setupActionBarWithNavController(this, navController)   findViewByIdlt;BottomNavigationViewgt;(R.id.bottomNav)  .setupWithNavController(navController)   switchFragments()  }    fun switchFragments() {  // switch between fragments when game PHASE changes with observer  if(!statsFragment.isResumed) {  gameViewModel.gamePhase().observe(this, Observer {  when (it) {  GameViewModel.PHASE.SPIN -gt;   supportFragmentManager.beginTransaction()  .apply {  replace(R.id.fragment_activity_main, gameFragment)  commit()  }  GameViewModel.PHASE.WORD_GUESSING -gt;   supportFragmentManager.beginTransaction()  .apply {  replace(R.id.fragment_activity_main, guessWordFragment)  commit()  }  GameViewModel.PHASE.Lose -gt;   supportFragmentManager.beginTransaction()  .apply {  replace(R.id.fragment_activity_main, loseScreenFragment)  commit()  }  GameViewModel.PHASE.WIN -gt;   supportFragmentManager.beginTransaction().apply {  replace(R.id.fragment_activity_main, winScreenFragment)  commit()  }   }  })  }  }    override fun onOptionsItemSelected(item: MenuItem): Boolean {  return item.onNavDestinationSelected(navController) ||   super.onOptionsItemSelected(item)  }   }