Android 使用多个后台堆栈时,片段中的片段未持久化

Android 使用多个后台堆栈时,片段中的片段未持久化,android,android-fragments,fragment-backstack,Android,Android Fragments,Fragment Backstack,因此,我使用这种方法为我的应用程序支持多个后台堆栈。这段代码应该使底部导航组件持久化片段和其中的所有内容(滚动状态等)。所以问题是,当我有一个片段,我在片段中以编程方式创建它,让我使用google示例代码创建一个示例。我将排行榜选项卡目标更改为我的自定义板片段 class BoardFragment : Fragment() { private lateinit var leaderboardFragment: Leaderboard override fun onCreat

因此,我使用这种方法为我的应用程序支持多个后台堆栈。这段代码应该使底部导航组件持久化片段和其中的所有内容(滚动状态等)。所以问题是,当我有一个片段,我在片段中以编程方式创建它,让我使用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方法中,我创建排行榜片段,并将我在Board fragment布局中创建的片段容器替换为这个新创建的排行榜片段。结果与原始代码相同,但问题是当我们转到其他菜单并返回到它时,排行榜片段显然没有持久化,因为在onViewCreated中再次创建的片段。那么,如何保存片段呢