Impossible de résoudre la méthode 'getSupportFragmentManager ()' dans Fragment

J'ai trouvé le message Impossible de résoudre la méthode 'getSupportFragmentManager ()' Je veux fragmenter comme activité. Parce que je veux utiliser Maps sur les onglets glisser.

public class PETAcikarangsukatani extends Fragment { Context context; private static final LatLng SUKATANI = new LatLng(-6.171327, 107.178108); private static final LatLng WRPOJOK = new LatLng(-6.222411, 107.162158); private static final LatLng PILAR = new LatLng(-6.257033, 107.156472); private static final LatLng CIKARANG = new LatLng(-6.256073, 107.143984); GoogleMap googleMap; final String TAG = "PathGoogleMapActivity"; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.activity_path_google_map, container, false); context = rootView.getContext(); SupportMapFragment fm = (SupportMapFragment)getSupportFragmentManager() .findFragmentById(R.id.map); googleMap = fm.getMap(); 

  • Qu'arrive-t-il à un fil Android après que l'Activité qui l'a créé a été détruite?
  • Android Browser.BOOKMARKS_URI ne fonctionne pas sur tous les périphériques. Comment trouver le bon uri pour un périphérique donné?
  • Android: Existe-t-il un moyen de mettre en œuvre le scanner de code à barres dans une application?
  • Comment mettre un attribut CardView dans un style?
  • Comment savoir si «Mobile Network Data» est activé ou désactivé (même s'il est connecté par WiFi)?
  • Coller du texte sur Android Emulator
  • Plus.PeopleApi.getCurrentPerson est obsolète dans les services Play 8.4. Comment obtenir le prénom, le nom et le genre de l'utilisateur à l'aide de GoogleSignInApi?
  • Jeu Android avec FPS constant?
  • Accès au fournisseur de contenu personnalisé à partir d'une application différente
  • Comment puis-je configurer par défaut le clavier numérique sur EditText sans forcer l'entrée numérique?
  • Comment une propriété Animate Layout de ViewGroups?
  • Je ne peux pas voir ma demande sur google play
  • 12 Solutions collect form web for “Impossible de résoudre la méthode 'getSupportFragmentManager ()' dans Fragment”

    Dans une sous-classe Fragment vous devez utiliser getFragmentManager à la place de getSupportFragmentManager . Vous obtiendrez le support si l'importation provient de la bibliothèque de support.

    Pour mon cas, je me suis assuré que la classe Fragment était importée de

    Android.support.v4.app.Fragment

    Pas de

    Android.app.Fragment

    Ensuite, j'ai utilisé

    GetActivity (). GetSupportFragmentManager ();

    Et maintenant, il fonctionne. Si j'utilise une instance d'activité sur laquelle je suis entréAttach () ne fonctionne pas aussi.

    Prolongé FragmentActivity au lieu de Activity

    Utilisez getActivity().getSupportFragmentManager()

    Remplacez getSupportFragmentManager () par getFragmentManager () si vous travaillez dans api 21. OU Si votre application prend en charge les versions d'Android plus anciennes que 3.0, assurez-vous d'avoir configuré votre projet Android avec la bibliothèque de support comme décrit dans Configuration d'un projet pour Utilisez une bibliothèque et utilisez getSupportFragmentManager () cette fois.

    Vous pouvez également utiliser AppCompatActivity au lieu d'Activité.
    Ensuite, getSupportFragmentManager() fonctionnera.
    Et n'oubliez pas de faire en sorte que le thème de votre application étende le thème AppCompat dans ce cas

    getSupportFragmentManager() ne fait pas partie de Fragment , donc vous ne pouvez pas l'obtenir ici de cette façon. Vous pouvez l'obtenir à partir de l' Activity parentale (alors, dans l' onAttach() le plus tôt) en utilisant la normale

     activity.getSupportFragmentManager(); 

    Ou vous pouvez essayer getChildFragmentManager () , qui est dans la portée de Fragment, mais nécessite API17 +

    Tu devrais utiliser

     getActivity.getSupportFragmentManager() like //in my fragment SupportMapFragment fm = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map); 

    J'ai également ces problèmes mais résolu après avoir ajouté getActivity() avant getSupportFragmentManager .

    Si vous obtenez "Impossible de résoudre la méthode getSupportFragmentManager ()", essayez d'utiliser

     this.getSupportFragmentManager() 

    Cela fonctionne pour moi lors de la gestion de DialogFragments dans Android

    GetFragmentManager ()

    Essayez-le. J'ai travaillé pour mon cas

    J'ai essayé tout ce qui précède, mais aucun ne fonctionnait

    Finalement, j'ai essayé ce mien

     getBaseActivity().getFragmentManager() 

    Et fonctionne … 🙂

    Selon la documentation, getSupportFragmentManager () est présent uniquement dans la classe AppCompatActivity. Il n'est pas présent dans la classe Activité. Assurez-vous donc que votre classe étend la classe AppCompatActivity.

     public class MainActivity extends AppCompatActivity { } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.