如何在 BottomSheetDialogFragment 顶部显示另一个片段

jem*_*ili 7 android fragment dialogfragment android-bottomsheetdialog

有什么办法可以在上面显示片段吗DialogFragment?当我BottomSheetDialogFragment在某些操作后显示时,我需要显示另一个片段(不是对话框片段的类型)而不关闭该对话框,我尝试从对话框中删除暗淡效果并隐藏视图,但这不好,对话框片段是不可见,但是,它的顶部是钢制的,按背面键首先会删除这个不可见的对话框,我需要实现的是正常的后堆栈顺序,就像“正常”片段一样

axi*_*el7 2

我遇到了同样的问题,我找到的解决方案是:

  1. 在BottomSheetDialogFragment布局中,将id设置为ViewGroup(您可以使用根视图或在某处添加FrameLayout)

  2. 在 BottomSheetDialogFragment 类中,使用它来打开新片段:

     childFragmentManager.beginTransaction()
             .add(R.id.yourId, newFragment, newFragment.tag)
             .addToBackStack(newFragment.tag)
             .commit()
    
    Run Code Online (Sandbox Code Playgroud)

注意:当您按下后退按钮时,它会关闭整个对话框,因此我在调用的第二个片段中放置了一个 X 图标parentFragmentManager.popBackStack()