片段onCreate,onCreateView在Actvity' onCreate之前被调用,当它在活动XML布局中声明时。
这是正常的吗?我可以根据上述生命周期开发代码吗?
//Fragment declared in activity xml
<fragment android:name="screenfragments.SearchableFragment"
android:id="@+id/searchable_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
由于
答案 0 :(得分:0)
是的,你可以拥有你拥有的东西。但请记住,当您在xml布局中声明片段时,片段将始终存在,您无法将其删除或动态替换它。
这与设计为不依赖于活动的可重用组件的片段的目的有些相反。在您提到的情况下,Fragment与Activity相关联。
总而言之,您使用的设计原则并不正常,但它会起作用,您可以围绕它进行设计。
答案 1 :(得分:0)
生命周期事件的奇怪排序是您的片段在活动的XML而不是代码中声明的结果。您可以创建片段并将其添加到活动的onCreateView步骤中的活动,这样您就可以确保在活动之后调用片段的onCreate。
请参阅:here