二进制 XML 文件第 21 行:膨胀 class 片段时出错

Binary XML file line #21: Error inflating class fragment

我有一个地图片段 class,我在上面添加了一个按钮。当我点击它时,我用一个简单的文本视图和保存按钮调用另一个片段 class。单击保存后,我想返回到我的 mapfragment class。现在,当我单击保存并返回时,它会抛出错误。错误是当它膨胀 class > 只是想知道我从后台弹出时是否做错了什么。我只想删除最后一个并返回到我的地图。 我的地图布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.MapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="vertical">


    </fragment>
</LinearLayout>

MapFragment如下:

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,   Bundle savedInstanceState) {
  View v = inflater.inflate(R.layout.maplayout,container,false);
  return v;
}


@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    FragmentManager fm = getChildFragmentManager();
    fragment = (MapFragment) fm.findFragmentById(R.id.map);
    if (fragment == null) {
        fragment = MapFragment.newInstance();
        fm.beginTransaction().replace(R.id.map, fragment).commit();
    }
}

后退方法:

        FragmentManager fm = getActivity().getFragmentManager();
        fm.popBackStack("TEXT_FRAGMENT", FragmentManager.POP_BACK_STACK_INCLUSIVE);

                    fm.beginTransaction()
                            .replace(R.id.map_tab,
                                    mapFragment,
                                    "maptab")
                            .addToBackStack("maptab")
                            .commit();

错误是:片段没有视图。

map_tab 是添加了 MapFragment 的选项卡。地图片段添加在此之上。

编辑: 在后面的方法中我添加了 fm.popBackStack("TEXT_FRAGMENT", FragmentManager.POP_BACK_STACK_INCLUSIVE

但是当我返回我的 Map Fragment 并且在膨胀时我得到了错误。

不要提交新片段。反而, 查看getFragmentManager().popBackStack()方法(有几种可供选择)

http://developer.android.com/reference/android/app/FragmentManager.html#popBackStack()

终于可以使用了。在添加新片段之前必须删除 mapfragment。