我正在尝试在片段内使用SupportMapFragment。首次启动时,地图显示无误。
但是,当我执行另一个片段的事务,然后返回到地图时,我出现了一个错误,该错误使片段膨胀。但是,当我制作包含地图的片段的新实例时,我没有任何错误。
这是我的布局:
<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"
android:animateLayoutChanges="true"
tools:context=".ui.HomeMapFragment">
<fragment
android:id="@+id/map"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/footer"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:name="com.google.android.gms.maps.SupportMapFragment" />
<FrameLayout
android:id="@+id/footer"
android:layout_height="110dp"
android:layout_width="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="@color/colorPrimary"/>
</RelativeLayout>
我在onCreateView中实例化了我的SupportMapFragment,如下所示:
//Instantiate the map fragment
mHolder.supportMapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);
我在onActivityCreated中调用onMapReady:
if (mHolder.supportMapFragment != null)
mHolder.supportMapFragment.getMapAsync(this);
错误日志:
FATAL EXCEPTION:
main Process: xxx.xxxx.xxxx, PID: 4441
android.view.InflateException: Binary XML file line #8: Error inflating class fragment
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at xxx.xxxx.xxxx.ui.HomeMapFragment.onCreateView(HomeMapFragment.java:234)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
at android.support.v4.app.BackStackRecord.popFromBackStack(BackStackRecord.java:971)
at android.support.v4.app.FragmentManagerImpl.popBackStackState(FragmentManager.java:1670)
at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:586)
at android.support.v4.app.FragmentActivity.onBackPressed(FragmentActivity.java:189)
at com.xxx.xxx.ui.HomeActivity.onBackPressed(HomeActivity.java:71)
我知道在片段的布局内对片段进行硬编码不是一件好事,但是我已经尝试使用frameLayout来执行此操作,但是我遇到了很多错误
如果要在片段中放置地图,则需要使用MapView而不是SupportMapFragment如何在使用Google Map V2的android中使用MapView?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句