2

Je suis en train de coder une application Google Maps dans Xamarin et j'ai étendu la classe avec succès pour utiliser Android.Support.V4.App.FragmentActivity.Référencement de la classe SupportFragmentManager dans un fragment

Je veux maintenant changer le Android.Support.V4.App.FragmentActivity pour être un Android.Support.V4.App.Fragment de sorte que je puisse avoir un ViewPager qui a un fragment de carte de Google.

Comme j'ai maintenant changé la classe pour étendre de Android.Support.V4.App.Fragment, je ne peux pas référencer le SupportFragmentManager.

Voici mon code:

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(); 
    } 
} 

Comment puis-je faire référence à la SupportFragmentManager dans un Android.Support.V4.App.Fragment?

Merci à l'avance

Répondre

2

D'un Fragment vous pouvez obtenir le fragment Manager avec getFragmentManager() ou getChildFragmentManager() si vous avez des fragments imbriqués, mais vous avez encore votre activité pour étendre FragmentActivity, vous pouvez avoir le viewpager en son sein. Ou vous pouvez avoir quelque chose comme ceci:

enter image description here

afin que vous puissiez plus tard remplacer le MainFragment avec un autre fragment.

+1

Comment est-ce que j'appelle le SupportFragmentManager, pas le FragmentManager? – user3548779

+1

à partir d'un fragment, vous pouvez tous getActivity(). GetSupportFragmentManager() – ILovemyPoncho

Questions connexes