使用多个反向堆栈时,片段内部的片段无法保留

问题描述

因此,我使用这种方法来为我的应用google sample code支持多个反向堆栈。此代码应使底部导航组件保留该片段及其内部的所有内容(滚动状态等)。所以问题是当我在片段中以编程方式创建它的片段时,让我使用Google示例代码创建一个示例。我将“排行榜”选项卡的目标更改为自定义的“ Board”片段。

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片段布局中创建的片段容器替换为新创建的leaderboard片段。结果与原始代码相同,但是问题在于,当我们转到其他菜单并返回它时,页首横幅片段显然不会保留,因为该片段是在onViewCreated中再次创建的。那么,如何保留片段?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)