当我检查lifecycle
中的fragment
时,发现了一些我不理解的东西。
片段可以由任何
object
托管;例如Activity
。为了托管片段,请实现FragmentHostCallback
,以覆盖适用于该主机的方法。
FragmentHostCallback
中创建Fragment
的地方是什么?我认为FragmentHostCallback
是在onInflate
或onAttach
创建的。但是,我找不到与在其中创建FragmentHostCallback
有关的任何代码。
答案 0 :(得分:1)
片段本身不承载片段-如前所述,它是一个Activity或等效的对象,它们创建一个FragmentHostCallback
对象。例如,FragmentActivity
包含自己的名为HostCallbacks的FragmentHostCallback
的实现。
您永远不会直接与此对象进行交互,相反,FragmentHostCallback
会传递给FragmentController.createController()
,在这种情况下,FragmentActivity
会用来触发生命周期更改和其他信号从“活动”到您实际与之互动的FragmentManager
。