无法解析:FragmentManager.FindFragmentById<MapFragment>

Unable to Resolve: FragmentManager.FindFragmentById<MapFragment>

以下行不编译:

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

Error CS0120 An object reference is required for the non-static field, method, or property '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:

有什么建议吗?

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

_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.
 }

FragmentManager 是 getter 属性 关闭 Activity class,如果您的代码不在 Activity 的上下文(方法)内执行,它需要离开上下文对象。