微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

因此,我使用这种方法来为我的应用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 举报,一经查实,本站将立刻删除。