如何在后台事件中销毁 tablayout 片段?

How can I destroy the tablayout fragments at the back event?

我在一个片段中实现了一个 tableyout,逻辑很简单,当我点击列表中的一个项目时它派生到一个片段(tableyout),当我返回并 select另一个项目它向我展示了 tableyout 但空白视图,审查了 tablayout 的片段永远不会被破坏的行为。这是适配器代码和主要片段。提前致谢。

class TabAdapter(fm: FragmentManager): FragmentPagerAdapter(fm) {
    override fun getItem(position: Int): Fragment {
        return when(position){
            0->FormPartOne()
            1->FormPartTwo()
            2->FormPartThree()
            else->FormPartOne()
        }
    }

    override fun getCount(): Int {
        return 3
    }

    override fun getPageTitle(position: Int): CharSequence? {

        return when(position){
            0->"1"
            1->"2"
            2->"3"
            else->""
        }

    }
}

主要片段:

class ReceptionFormFragment : Fragment() {

    private lateinit var receptionOrderViewModel: ReceptionOrderViewModel
    private lateinit var tabs: TabLayout
    private lateinit var viewPager: ViewPager
    private lateinit var sectionsPagerAdapter: TabAdapter
    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {

        val root = inflater.inflate(R.layout.fragment_reception_form, container, false)

        sectionsPagerAdapter = fragmentManager?.let { TabAdapter(it) }!!
        viewPager  = root.findViewById(R.id.view_pager)
        viewPager.adapter = sectionsPagerAdapter
        tabs = root.findViewById(R.id.tabs)
        tabs.setupWithViewPager(viewPager)
        return root
    }
}

替换

sectionsPagerAdapter = fragmentManager?.let { TabAdapter(it) }!!

sectionsPagerAdapter = TabAdapter(childFragmentManager)

而且它都可以正常工作自动移除背面的碎片(当这个碎片被移除时)。