引用片段中的SupportFragmentManager

时间:2014-05-24 06:19:10

标签: android android-fragments android-viewpager xamarin supportmapfragment

我正在使用Xamarin对Google地图应用进行编码,并已成功将该课程扩展为使用Android.Support.V4.App.FragmentActivity

我现在想要将Android.Support.V4.App.FragmentActivity更改为Android.Support.V4.App.Fragment,以便我可以拥有一个包含Google地图片段的ViewPager

由于我现在已将课程更改为从Android.Support.V4.App.Fragment延伸,因此我无法引用SupportFragmentManager

这是我的代码:

private void InitMapFragment()
{
    _mapFragment = SupportFragmentManager.FindFragmentByTag("map") as SupportMapFragment;
    if (_mapFragment == null)
    {
        GoogleMapOptions mapOptions = new GoogleMapOptions()
            .InvokeMapType(GoogleMap.MapTypeNormal)
            .InvokeZoomControlsEnabled(true)
            .InvokeCompassEnabled(true);

        FragmentTransaction fragTx = SupportFragmentManager.BeginTransaction();
        _mapFragment = SupportMapFragment.NewInstance(mapOptions);
        fragTx.Add(Resource.Id.map, _mapFragment, "map");
        fragTx.Commit();
    }
}

如何引用SupportFragmentManager中的Android.Support.V4.App.Fragment

提前致谢

1 个答案:

答案 0 :(得分:3)

如果你有嵌套的片段,你可以从片段中获得片段管理器getFragmentManager()getChildFragmentManager(),但是你仍然需要你的Activity来扩展FragmentActivity,你可以在其中包含viewpager。或者你可以这样:

enter image description here

所以你以后可以用其他片段替换MainFragment。