如何获取片段视图持有者对象

时间:2018-06-26 18:32:25

标签: android kotlin bottom-sheet

您好,我创建了使用动态内容实现BottomSheetDialogFragment的类。内容为Fragment。因此,在初始化BottomSheet我传递的片段对象时,请将其附加到此BottomSheetDialogFragment内部的特定Container ID。看起来像这样:

private fun attachContentFragment() {
        val transaction = childFragmentManager.beginTransaction()
        transaction.apply {
            replace(R.id.flContent, state.layoutContent)
            commit()
        }
}

state.layoutContent是我所附的片段

如果在该片段中调用了每个操作,则需要关闭BottomSheet。 据我所知,我需要获取持有我(片段)的BottomSheet对象并将其关闭。

但是我如何获得该BottomSheet对象?

谢谢

1 个答案:

答案 0 :(得分:0)

因此,从技术上讲,这是fragment内部的fragment。我认为这里有几种解决方案:

  1. 从孩子Activity打电话给fragmentBottomSheetDialogFragment将订阅Activity进行此类事件并对此做出反应。
  2. 通过调用适当的BottomSheetDialogFragment(可能是FragmentManager一个)来获取Activity的实例。例如,您可以获得片段byTag的实例。
  3. 或者您可以从孩子getParentFragment处打电话给Fragment