如何在后面的事件中销毁选项卡布局片段?



>我已经在一个片段中实现了一个tableyout,逻辑很简单,当我单击列表中的一个项目时,它会派生到一个片段(tableyout(,当我返回并选择另一个项目时,它向我显示了tableyout,但视图为空白,查看行为,选项卡布局的片段永远不会被破坏。这是适配器代码和主片段。提前谢谢。

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)

它既可以正常工作,又会在背面自动删除碎片(当删除此片段时(。

最新更新