Фрагмент внутри фрагмента не сохраняется при использовании нескольких обратных стеков

#android #android-fragments #fragment-backstack

#Android #android-фрагменты #фрагмент-backstack

Вопрос:

Итак, я использую этот подход для поддержки нескольких обратных стеков для моего приложения, примера кода Google. Этот код должен заставить нижний навигационный компонент сохранять фрагмент и все содержимое (состояние прокрутки и т. Д.) Внутри него. Итак, проблема в том, что когда у меня есть фрагмент, который я создаю программно внутри фрагмента, позвольте мне использовать пример кода Google для создания примера. Я меняю назначение вкладки лидеров на свой пользовательский фрагмент доски.

 class BoardFragment : Fragment() {

    private lateinit var leaderboardFragment: Leaderboard

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_board, container, false)

    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        leaderboardFragment = Leaderboard.newInstance()
        activity?.supportFragmentManager?.beginTransaction()
                ?.replace(R.id.frag_container, leaderboardFragment)
                ?.commit()
    }
}
  

В методе onViewCreated я создаю фрагмент таблицы лидеров и заменяю свой контейнер фрагментов, который я создаю в макете фрагмента доски, на этот вновь созданный фрагмент таблицы лидеров. Результат идентичен исходному коду, но проблема в том, что фрагмент таблицы лидеров, очевидно, не сохраняется, когда мы переходим в другое меню и возвращаемся к нему, потому что фрагмент, созданный снова в onViewCreated. Итак, как сохранить фрагмент?