java - 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()
}
}
解决方案
onDetach
在视图已经销毁后调用。您的引用tabLayout
将在此处为空,因此没有任何反应。您可能想要删除onDestroyView
或类似的选项卡。
推荐阅读
- r - 采样 Kolmogorov 分布
- python - 如何使用 Telebot 转发/阅读来自另一个频道的消息?
- c# - 如何在 selenium C# 中使用 IWebDriver 检查页面上的复选框?
- java - 使用平方根运算的后缀评估
- python - 访问从另一个模块的功能导入的模块
- java - 在 JAVAFX 的列表视图中更改精确的项目颜色而不更改所有项目颜色
- gcc - 使用硬浮点(PowerPC)时对“__floatundisf”的未定义引用
- python - 生日员工 Django 模型
- bash - Bash:根据键对一列中的值求和
- string-comparison - 计算二元组