2

下面的行不會編譯:無法解析: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

有什麼建議嗎?

+0

在哪個上下文中,你是否執行代碼來獲取片段? –

回答

1

FragmentManager是吸氣屬性關Activity類,如果您的代碼不是活動的上下文中(方法)內執行的,它需要熄滅上下文對象。

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. 
} 
+0

我得到一個編譯錯誤:FragmentTransaction tx = FragmentManager.BeginTransaction(); 「非靜態字段需要對象引用」 –