Xamarin - 二进制XML文件行#1:错误膨胀类片段

时间:2018-02-19 20:39:17

标签: c# android xamarin visual-studio-2017

我正在尝试将Google地图应用到我的Xamarin Android应用程序中,但我仍然遇到以下错误:

Unhandled Exception:

Android.Views.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class fragment

我尝试更改代码以使用 SupportMapFragment ,并使用文档方法来实现Google地图。但是,我似乎无法理解手头的问题。

MainActivity.cs

using Android.App;
using Android.Widget;
using Android.OS;
using Android.Gms.Maps;
using Android.Gms.Maps.Model;
using Android.Support.V4.App;

namespace Fleet_Management_App
{
    [Activity(Label = "Fleet_Management_App", MainLauncher = true)]
    public class MainActivity : FragmentActivity, IOnMapReadyCallback
    {
        private GoogleMap _map;

        public void OnMapReady(GoogleMap map)
        {
            _map = map;
        }

        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            SetupMap();
        }

        private void SetupMap()
        {
            FragmentManager.FindFragmentById<MapFragment>(Resource.Id.map).GetMapAsync(this);
        }
    }
}

Main.axml

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

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

</LinearLayout>

的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="Fleet_Management_App.Fleet_Management_App" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
    <uses-sdk android:minSdkVersion="21" />
    <application android:allowBackup="true" android:label="@string/app_name">
        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
        <meta-data android:name="com.google.android.maps.v2.API_Key" android:value="@string/google_maps_key" />
    <meta-data android:name="com.google.android.geo.API_Key" android:value="@string/google_maps_key" />
    </application>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
</manifest>

非常感谢任何帮助!谢谢大家。

0 个答案:

没有答案