我想谷歌地圖整合到Xamarin的Android。但是,收到錯誤,如標題中所寫。此錯誤出現在我的SetContentView(Resource.Layout.Main);如下圖所示,其中:未處理的異常:Android.Views.InflateException:二進制XML文件行#1:二進制XML文件行#1:錯誤充氣類片段發生
Error occurred in MainActivity.cs
我的谷歌播放服務的地圖是了最新。我已經嘗試清理和重建項目,也重新啓動VS沒有爲我工作。非論壇回答我的問題。
這些是寫在我的項目爲:
MainActivity.cs
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Gms.Maps;
namespace Google_maps.Droid
{
[Activity (Label = "@string/Google_maps.Android", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity, IOnMapReadyCallback
{
private GoogleMap mMap;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);
SetUpMap();
}
private void SetUpMap()
{
if (mMap == null)
{
FragmentManager.FindFragmentById<MapFragment>(Resource.Id.map).GetMapAsync(this);
}
}
public void OnMapReady(GoogleMap googleMap)
{
mMap = googleMap;
}
}
}
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="fill_parent"
android:layout_height="fill_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>
的strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Click Me!</string>
<string name="app_name">Google_maps.Android</string>
<string name="google_maps_key">my_API_key</string>
<string name="Google_maps.Android">Google maps</string>
</resources>
最後,
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="Google_maps.google_mapsAndroid" android:installLocation="preferExternal">
<uses-sdk android:minSdkVersion="15" />
<application android:label="Google_maps.Android" android:icon="@drawable/Icon">
<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" />
</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>
有關其他信息,我也跟着從YouTube用戶,喬巖,在那裏,他教我們的方法如何設置谷歌地圖。這裏是鏈接到他的視頻:
https://www.youtube.com/watch?v=W6Q0olRPsus
如果你往下看註釋部分,你可以看到很多人有同樣的問題太多。此視頻2年前寫了,所以我會明白爲什麼它不會在這一現狀的工作。不過,如果你們可以啓發我將Google地圖集成到我的Android移動應用程序的正確方法,我將不勝感激,如果以某種方式,這種方法不再可靠。先謝謝你。
問候, Xamarin和編程新手。
編輯:
當我拖我的鼠標SetContentView (Resource.layout.Main)
它說無效Activity.SetContentView(INT LayoutResID)(+2重載) 設置一個佈局資源的活動內容。
我應該對這個問題?
通常,碎片不能嵌入到擴展活動的類中,而應該擴展FragmentActivity – Dinash
然後我可以知道我該怎麼做? –
@Dinash完成,我已經使用Android.Support.V4.App'和另一個方法'Android.Support「導入了'public class MainActivity:Activity'到'public class MainActivity:FragmentActivity'並添加了相應的導入語句 – Dinash