可以在布局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.
答案 0 :(得分:0)
不,你不能
当您在标记中声明片段时,您会说: &#34;以下片段将以此ID添加到此父视图中。&#34;
遵循此声明,无头片段将添加到无父视图,因此无效。您可以查看API以添加新片段,它将需要标记或容器,并且xml片段在第二个选项上有意义。
除此之外,只是为了代码和文件经济性,如果你想在xml中只有一个片段,那么new WhateverFragment()
比LayoutInflater.from(context).inflate(...);
更有意义