首页 > 解决方案 > 两个片段相互重叠

问题描述

BottomNavigationView在我的主要活动中使用了一个选项卡界面。在 中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
}

现在的问题是,有时两个片段是可见的并相互重叠,使用户界面无法使用。这怎么可能发生?

标签: androidandroid-fragmentskotlin

解决方案


推荐阅读