附加在活动xml

时间:2015-09-27 04:42:21

标签: android fragment lifecycle

片段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" />

由于

2 个答案:

答案 0 :(得分:0)

是的,你可以拥有你拥有的东西。但请记住,当您在xml布局中声明片段时,片段将始终存在,您无法将其删除或动态替换它。

这与设计为不依赖于活动的可重用组件的片段的目的有些相反。在您提到的情况下,Fragment与Activity相关联。

总而言之,您使用的设计原则并不正常,但它会起作用,您可以围绕它进行设计。

答案 1 :(得分:0)

生命周期事件的奇怪排序是您的片段在活动的XML而不是代码中声明的结果。您可以创建片段并将其添加到活动的onCreateView步骤中的活动,这样您就可以确保在活动之后调用片段的onCreate。

请参阅:here