我在主要活动中使用BottomNavigationView
作为Tab接口。在onCreate()
中,使用初始片段调用switchTab方法。轻触相应标签的底部导航调用switchTab()
,应隐藏当前标签并显示新标签。如果未将片段添加到SupportFragmentManager
,则会添加该片段,否则将显示该片段。这是我的代码段:
private fun switchTab(fragment: Fragment, tag: String): Boolean {
val currentFragment = supportFragmentManager.fragments.find { it.tag == tag }
val ta = supportFragmentManager.beginTransaction()
if (currentFragment != null) {
ta.hide(currentFragment)
}
if (supportFragmentManager.fragments.contains(fragment)) {
ta.show(fragment)
} else {
ta.add(R.id.contentContainer, fragment, tag)
}
ta.commit()
return true
}
现在的问题是,有时两个片段可见且彼此重叠,从而使用户界面无法使用。这怎么会发生?