无法转换类型';Android.Support.V4.App.Fragment';至';Android.Gms.Maps.MapFragment';
我正在使用Xamarin,并且正在重新编写一个Google地图应用程序,以使用Android.Support.V4.App.Fragments和一个视图寻呼机 这是我的密码:无法转换类型';Android.Support.V4.App.Fragment';至';Android.Gms.Maps.MapFragment';,android,google-maps,android-fragments,android-viewpager,xamarin,Android,Google Maps,Android Fragments,Android Viewpager,Xamarin,我正在使用Xamarin,并且正在重新编写一个Google地图应用程序,以使用Android.Support.V4.App.Fragments和一个视图寻呼机 这是我的密码: private void InitMapFragment() { _mapFragment = FragmentManager.FindFragmentByTag("map") as MapFragment; if (_mapFragment == null) { GoogleMap
private void InitMapFragment()
{
_mapFragment = FragmentManager.FindFragmentByTag("map") as MapFragment;
if (_mapFragment == null)
{
GoogleMapOptions mapOptions = new GoogleMapOptions()
.InvokeMapType(GoogleMap.MapTypeNormal)
.InvokeZoomControlsEnabled(true)
.InvokeCompassEnabled(true);
FragmentTransaction fragTx = FragmentManager.BeginTransaction();
_mapFragment = MapFragment.NewInstance(mapOptions);
fragTx.Add(Resource.Id.mapWithOverlay, _mapFragment, "map");
fragTx.Commit();
}
}
由于我现在扩展活动以使用Android.Support.V4.App.Fragment,因此在编译时出现以下错误:
错误CS0039:无法将类型“Android.Support.V4.App.Fragment”转换为
“Android.Gms.Maps.MapFragment”通过引用转换、装箱
转换、取消装箱转换、换行转换或空类型
转换(CS0039)
在生产线上:
_mapFragment = FragmentManager.FindFragmentByTag("map") as MapFragment
FragmentTransaction fragTx = FragmentManager.BeginTransaction()
以及:
错误CS0029:无法隐式转换类型
“Android.Support.V4.App.FragmentTransaction”到
“Android.App.FragmentTransaction”(CS0029)
在生产线上:
_mapFragment = FragmentManager.FindFragmentByTag("map") as MapFragment
FragmentTransaction fragTx = FragmentManager.BeginTransaction()
我能得到一些帮助让这个代码工作吗
提前感谢您将使用支持库片段的类与不基于该层次结构构建的类混合在一起(仅适用于3.0+)。你不能那样做。您需要使用SupportMapFragment而不是MapFragment 因为您正在使用Android.Support.V4.App.Fragments,而不是在
_mapFragment = MapFragment.NewInstance(mapOptions);
使用SupportMapFragment
_mapFragment = SupportMapFragment.NewInstance(mapOptions);
希望有帮助
您的libs文件夹和项目构建路径中应该有android.support.v4.jar使用SupportMapFragment需要什么引用?使用SupportMapFragment而不是MapFragment需要做什么?