在布局XML中声明无头片段?

时间:2015-07-08 22:51:46

标签: android android-layout android-fragments

可以在布局XML中声明无头Fragment吗?也许有一个属性告诉inflater不要指望View?当我这样尝试时:

<fragment android:name="com.example.HeadlessFragment"
    android:id="@+id/headless_fragment" />

......并非完全出乎意料,它崩溃了:

07-08 15:41:32.441: E/AndroidRuntime(5943): Caused by: java.lang.IllegalStateException: Fragment com.example.HeadlessFragment did not create a view.

1 个答案:

答案 0 :(得分:0)

不,你不能

当您在标记中声明片段时,您会说: &#34;以下片段将以此ID添加到此父视图中。&#34;

遵循此声明,无头片段将添加到无父视图,因此无效。您可以查看API以添加新片段,它将需要标记或容器,并且xml片段在第二个选项上有意义。

除此之外,只是为了代码和文件经济性,如果你想在xml中只有一个片段,那么new WhateverFragment()LayoutInflater.from(context).inflate(...);更有意义