gpt4 book ai didi

android - 在 ViewPager2 中启动子 fragment

转载 作者:行者123 更新时间:2023-12-03 20:53:37 26 4
gpt4 key购买 nike

我正在使用 ViewPager2FragmentStateAdapter .基本 3 个 fragment (A-B-C)。这意味着,您可以从 A 滚动到 B,从 B 滚动到 C

我想做的事?

从 fragment B 开始子 fragment D
(A-B-C)
|
D
从fragment B开始fragment D,当用户点击“返回箭头”(顶栏)时,fragment D将被销毁,用户将返回B。(我不想使用activity)

我试过什么?

val ft: FragmentTransaction = requireActivity().supportFragmentManager.beginTransaction()
ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out)
ft.replace(android.R.id.content, DetailsFragment())
ft.addToBackStack(null)
ft.commit();

使用上面的代码,我有两个问题。
  • 两个 fragment (B 和创建的 D)重叠(我同时看到 B 和 D)
  • 单击返回按钮(在顶部栏)时, fragment B 或 D 都不会关闭

  • 编辑:
    将 fragment 管理器传递给 ViewPager2 , 在 onCreate() 方法中的 main_activity
    pagerAdapter = PagerAdapter(supportFragmentManager, lifecycle)
    binding.mainViewPager.adapter = pagerAdapter

    PagerAdapter 是一个简单的类: class PagerAdapter(fm: FragmentManager, lifecycle: Lifecycle) : FragmentStateAdapter(fm, lifecycle)

    最佳答案

    使用getChildFragmentManager()而不是 getSupportFragmentManager()

    关于android - 在 ViewPager2 中启动子 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61835206/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com