我正在用Xamarin编写一个GoogleMap应用程序,并成功地扩展了类以使用Android.Support.V4.App.FragmentActivity
。
我现在想将Android.Support.V4.App.FragmentActivity
更改为Android.Support.V4.App.Fragment
,这样我就可以拥有一个包含Google Map片段的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();
}
}
如何在Android.Support.V4.App.Fragment
中引用SupportFragmentManager
?
Thanks in advance
2条答案
按热度按时间km0tfn4u1#
从一个Fragment中,你可以得到一个fragment Manager,如果你有嵌套的fragment,可以使用
getFragmentManager()
或getChildFragmentManager()
,但是你仍然需要你的Activity来扩展FragmentActivity,你可以在其中使用viewpager。或者你可以有这样的东西:这样以后就可以用其他片段替换MainFragment。
bwntbbo32#
可能是您的MainActivity类继承自ComponentActivity,然后将其更改为AppCompatActivity,因为AppCompatActivity类支持supportFragmentManager。这不会对你以前的代码造成很大的损害
如果在应用程序崩溃的情况下使用FragmentActivity而不是AppComatActivity继承