#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. Итак, как сохранить фрагмент?