当前位置: 首页 > 知识库问答 >
问题:

Android.View.InflateException:二进制XML文件行#14:inflating类片段时出错

费秦迟
2023-03-14

当我点击后退按钮并返回到位置片段时,我遇到了一些问题,下面出现了一个错误:

我确实查了很多帖子,尝试了所有的解决方案,但它不起作用。似乎其他菜单项不是问题,只是这个位置页面给出了一个错误。

fragment_location.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<Spinner
    android:id="@+id/spinner1"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:background="@color/white"
    android:spinnerMode="dropdown"/>

<fragment
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="40dp"/>

</RelativeLayout>

LocationFragment.java

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

        view = inflater.inflate(R.layout.fragment_location, container, false);// this is the line 73
        SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);

    return view;
}

共有1个答案

夏理
2023-03-14

尝试删除LocationFragment.java中onDestroyView上的mapFragment。

@Override
public void onDestroyView() {
    super.onDestroyView();
    SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);
    if (mapFragment != null)
        getChildFragmentManager().beginTransaction().remove(mapFragment).commitAllowingStateLoss();
}
 类似资料: