fragment holder + merge = java.lang.IllegalStateException

时间:2012-11-21 09:09:11

标签: android android-layout

在活动布局中有一个片段持有者 - 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>

0 个答案:

没有答案