Android 在两个连续的addToBackStack之后,supportFragmentManager.fragments大小为一

Android 在两个连续的addToBackStack之后,supportFragmentManager.fragments大小为一,android,kotlin,fragment,Android,Kotlin,Fragment,我有BottomNavigationView的主要活动。在BottomNavigationView的第一个选项卡中,我有一个片段。通过单击用户,我以这种方式打开了两个片段: fragmentManager.beginTransaction() .setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left,R.anim.slide_out_right)

我有BottomNavigationView的主要活动。在BottomNavigationView的第一个选项卡中,我有一个片段。通过单击用户,我以这种方式打开了两个片段:

    fragmentManager.beginTransaction()
            .setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left,R.anim.slide_out_right)
            .replace(R.id.mainFragmentContainer, FinancialFragment.newInstance(),"FinancialFragment")
            .addToBackStack("FinancialFragment")
            .commit()
用不同的标签。当用户单击每个按钮时,我按以下代码从堆栈中弹出所有片段:

   val fragments = supportFragmentManager.fragments
    val manager = supportFragmentManager
    val trans = manager.beginTransaction()
    var fragmentList = readFragmentsNameFromAssets()
    for (i in fragments.size - 1 downTo 0) {
        val fragment = fragments[i]
        if( fragment.tag ==fragmentList[0] || fragment.tag == fragmentList[1] || fragment.tag ==fragmentList[2] || fragment.tag ==fragmentList[3] || fragment.tag ==fragmentList[4] || fragment.tag ==fragmentList[5]
                || fragment.tag ==fragmentList[6] || fragment.tag ==fragmentList[7] || fragment.tag ==fragmentList[8] || fragment.tag ==fragmentList[9] || fragment.tag ==fragmentList[10] || fragment.tag ==fragmentList[11]
                || fragment.tag ==fragmentList[12] || fragment.tag ==fragmentList[13] || fragment.tag ==fragmentList[14] || fragment.tag ==fragmentList[15] || fragment.tag ==fragmentList[16]
                || fragment.tag ==fragmentList[17] || fragment.tag ==fragmentList[18] || fragment.tag ==fragmentList[19] ){
                trans.remove(fragment).commit()
                manager.popBackStack(fragment.tag, FragmentManager.POP_BACK_STACK_INCLUSIVE)
        }
    }

我有一个问题:当我打开两个顺序片段时,supportFragmentManager.fragments大小为1,并且似乎第二个片段没有添加到堆栈中,也没有弹出,因此当我单击底部导航按钮时,就返回到上一个片段。

您只启动一个事务,谁知道您要提交多少事务