【问题标题】:How can I destroy the tablayout fragments at the back event?如何在后台事件中销毁 tablayout 片段?
【发布时间】:2019-10-10 22:03:19
【问题描述】:

我已经在片段中实现了一个tableyout,逻辑很简单,当我单击列表中的一个项目时,它派生到一个片段(tableyout),当我返回并选择另一个项目时会出现问题,它显示给我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
    }
}

【问题讨论】:

    标签: android android-fragments kotlin android-tablayout


    【解决方案1】:

    替换

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

    sectionsPagerAdapter = TabAdapter(childFragmentManager)
    

    并且它会正常工作自动移除背面的片段(当这个片段被移除时)。

    【讨论】:

    • 很高兴为您提供帮助,如果您不知道在哪里查找,这是一个棘手的问题 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多