首页 > 解决方案 > TabLayout 中的方法 removeAllTabs() 不起作用

问题描述

我正面临这个问题:每次我的 tabLayout 选项卡都没有被删除

我在里面添加标签onCreateView并在里面删除它们onDetach

但是当我回到这个时fragment,我的标签继续tabLayout

class ProductsFragment : Fragment(), TabLayout.OnTabSelectedListener {

    private var tabLayout: TabLayout? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        ...
        tabLayout = activity!!.findViewById(R.id.tablayout)
        ...
    }

    ...

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        //here I'm adding the tabs to tabLayout
    }

    ...

    override fun onDetach() {
        super.onDetach()
        tabLayout?.removeAllTabs()
    }
}

标签: javaandroidandroid-layoutkotlin

解决方案


onDetach在视图已经销毁后调用。您的引用tabLayout将在此处为空,因此没有任何反应。您可能想要删除onDestroyView或类似的选项卡。


推荐阅读