猿问

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()

    }

}


人到中年有点甜
浏览 514回答 1
1回答

梦里花落0921

onDetach在视图已销毁之后调用。您的参考tabLayout将在此处为空,因此什么也不会发生。您可能想要删除中的标签onDestroyView或类似标签。
随时随地看视频慕课网APP

相关分类

Java
我要回答