TabLayout中的方法removeAllTabs()无法正常工作

时间:2018-06-19 14:51:46

标签: java android android-layout kotlin

我正面临这个问题:每次我都不从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()
    }
}

1 个答案:

答案 0 :(得分:1)

在视图已销毁后调用

onDetach。您的引用tabLayout在此处为空,因此什么也没有发生。您可能要删除onDestroyView或类似标签中的标签。