无法解析:FragmentManager.FindFragmentById <mapfragment>

时间:2015-10-18 11:24:27

标签: android android-fragments xamarin xamarin.forms mapfragment

以下行无法编译:

var mapFragment = FragmentManager.FindFragmentById<MapFragment>(Resource.Id.map);

  

错误CS0120非静态字段,方法或属性'FragmentManager.FindFragmentById(int)'

需要对象引用

我的axml如下:

  <fragment xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/map"
            android:layout_width="200dp"
            android:layout_height="200dp"
            class="com.google.android.gms.maps.MapFragment" />

我引用了以下documentation

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

根据您的目标文档建议我找到了这个。

_myMapFragment = MapFragment.NewInstance();
 FragmentTransaction tx = FragmentManager.BeginTransaction();
 tx.Add(Resource.Id.map, _myMapFragment);
 tx.Commit();
 GoogleMap map = myMapFragment.Map;
 if (map != null) {
 // The GoogleMap object is ready to go.
 }

答案 1 :(得分:1)

FragmentManager是Activity类的getter属性,如果你的代码没有在Activity的上下文(方法)中执行,它需要关闭一个上下文对象。