我正在使用以下代码销毁程序创建的片段:
getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentById(R.id.test)).commit();
这是在xml文件中确定的:
<LinearLayout
android:id="@+id/test"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</LinearLayout>
如果我在MainActivity中再次从相同的类创建一个片段:
getSupportFragmentManager().beginTransaction()
.add(R.id.result_bar, testinstance)
.commit();
然后onCreate似乎没有再次调用(片段只是空的)。我在这里做错了什么?谢谢。
FrameLayout
而不是LinearLayout。同时,移除android:visiblity="gone"
,因为这会导致你的布局无法显示。 - Bloreplace()
而不是remove() + add()
呢? - BloFrameLayout
更愿意托管Fragment而不是其他ViewGroup。如果我找到了一个好的解释,我会发布一个答案来解释这个问题。;) - Blo