彼此重叠的两个片段

时间:2018-08-22 07:52:34

标签: android android-fragments kotlin

我在主要活动中使用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
}

现在的问题是,有时两个片段可见且彼此重叠,从而使用户界面无法使用。这怎么会发生?

0 个答案:

没有答案