在Fragment中在哪里创建FragmentHostCallback?

时间:2019-03-06 03:54:17

标签: android android-fragments

当我检查lifecycle中的fragment时,发现了一些我不理解的东西。

FragmentHostCalback

  

片段可以由任何object托管;例如Activity。为了托管片段,请实现FragmentHostCallback,以覆盖适用于该主机的方法。

问题

  • FragmentHostCallback中创建Fragment的地方是什么?

我认为FragmentHostCallback是在onInflateonAttach创建的。但是,我找不到与在其中创建FragmentHostCallback有关的任何代码。

1 个答案:

答案 0 :(得分:1)

片段本身不承载片段-如前所述,它是一个Activity或等效的对象,它们创建一个FragmentHostCallback对象。例如,FragmentActivity包含自己的名为HostCallbacksFragmentHostCallback的实现。

您永远不会直接与此对象进行交互,相反,FragmentHostCallback会传递给FragmentController.createController(),在这种情况下,FragmentActivity会用来触发生命周期更改和其他信号从“活动”到您实际与之互动的FragmentManager