你好,我创建了一个用动态内容实现BottomSheetDialogFragment
类。内容是一个Fragment
。因此,在初始化BottomSheet
时,我传递了fragment对象,并将其附加到此BottomSheetDialogFragment
中的特定容器ID。看起来像这样:
private fun attachContentFragment() {
val transaction = childFragmentManager.beginTransaction()
transaction.apply {
replace(R.id.flContent, state.layoutContent)
commit()
}
}
state.layoutContent
是我附加的片段
如果片段中的每个操作都被调用,我需要关闭BottomSheet
。据我所知,我需要获取持有我的BottomSheet对象(片段)并将其清除。
但是我怎样才能得到那个BottomSheet对象呢?
谢谢
发布于 2018-06-27 03:59:56
因此,从技术上讲,这是一个fragment
inside fragment
的情况。我认为这里有几个解决方案:
fragment
调用Activity
。BottomSheetDialogFragment
将为此类事件订阅Activity
并对其做出反应。FragmentManager
(可能是Activity
)来获取BottomSheetDialogFragment
的实例。您可以获取片段byTag
的实例,例如.getParentFragment
https://stackoverflow.com/questions/51049423
复制相似问题