dismiss-bottomsheetdialogfragment

kt06eoxx  于 2021-07-04  发布在  Java
关注(0)|答案(1)|浏览(388)

我有两个bottomsheetdialogfragment:bottomsheetdialogfragment1和bottomsheetdialogfragment2,我想从bottomsheetdialogfragment1到bottomsheetdialogfragment2,这是这样的代码示例

val bottomSheetDialogFragment2 = BottomSheetDialogFragment2()
        bottomSheetDialogFragment2.show(childFragmentManager, bottomSheetDialogFragment1.tag)

但是当我像下面的代码一样重定向到bottomsheetdialogfragment2之后,我会关闭bottomsheetdialogfragment2

val bottomSheetDialogFragment2 = BottomSheetDialogFragment2()
        bottomSheetDialogFragment2.show(childFragmentManager, bottomSheetDialogFragment1.tag)

解除()
结果是:bottomsheetdialogfragment1和bottomsheetdialogfragment2是dismission(),我只想关闭一个bottomsheet。

s8vozzvw

s8vozzvw1#

尝试使用活动中的碎片管理器:

val bottomSheetDialogFragment2 = BottomSheetDialogFragment2()
  bottomSheetDialogFragment2.show(parentFragmentManager, bottomSheetDialogFragment1.tag)

你也可以用 showNow 在对话框之间转换时防止屏幕闪烁的方法:

val bottomSheetDialogFragment2 = BottomSheetDialogFragment2()
  bottomSheetDialogFragment2.showNow(parentFragmentManager,bottomSheetDialogFragment1.tag)

当心那个 parentFragmentManager 如果在将此方法附加到活动之前调用此方法,则方法可能引发异常,以下是文档:
https://developer.android.com/reference/androidx/fragment/app/fragment#getparentfragmentmanager()

相关问题