在活动布局中有一个片段持有者 - Framelayout。我像这样替换它
fragmentTransaction.replace(R.id.holder_id, mFragment);
在片段的onCreateView中
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup layout = (ViewGroup) inflater.inflate(R.layout.fragment_layout_with_merge-as_root,container,true);
执行时会给出以下内容:
11-21 13:01:25.204:E / AndroidRuntime(5538):引起: java.lang.IllegalStateException:指定的子节点已经有了 家长。您必须首先在孩子的父母身上调用removeView()。
但它怎么可能?
P.S。这是我的片段布局的样子:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" >
//....
</LinearLayout>
</merge>