0
votes

KOTLIN: FragmentManager montre une erreur lorsqu'il est appelé de fragment [travaillant avec l'adaptateur]

Adapterclass:

lateinit var teamsAdapter: TeamsAdapter

teamsAdapter = TeamsAdapter(supportFragmentManager, match?.teams!!, matchId)


0 commentaires

4 Réponses :


1
votes

Résolu par une activité de coulée Si vous utilisez un fragment, jetez ensuite avec contexte

  fragmentManager = (activity as FragmentActivity).supportFragmentManager


2 commentaires

J'allais juste en profondeur d'apprentissage à Kotlin / Androidx / et qu'est-ce qui n'est pas, merci man!


L'utilisation du gestionnaire de fragments de l'activité pour un visionneur d'affichage hébergé dans un fragment est Toujours la mauvaise chose à faire. Vous devriez utiliser le ChildrenfragmentManager pour les fragments de nidification.



0
votes

Vous pouvez utiliser parentfragmentManager strong> ou ChildFragmentManager Strong> pour utiliser Fragment Manager à l'intérieur d'un fragment. Il n'est pas nécessaire d'utiliser une sorte de casting pour utiliser un gestionnaire de fragments.

childFragmentManager or getChildFragmentManager()


1 commentaires

Cela semble bien aussi loin que l'IDE permet toutefois de compiler tout ce que je reçois, c'est "Référence non résolue: ParentfragmentManager". Je suis retourné à l'aide d'Activity.SupportfragmentManager dans mes fragments.



0
votes

Vous devez utiliser supportfragmentManager si vous prenez le périphérique ci-dessous API 14, il suffit d'utiliser fragmentmanager


1 commentaires

Mise en œuvre actuelle de androidx.fragment.app.fragment est basé sur la bibliothèque de support ( Android.app.fragment a été obsolète). Donc, vous ne pouvez pas utiliser fragmentmanager , uniquement supportfragmentManager . Aussi FragmentManager a été obsolète.



1
votes

Lorsque votre fragment contient un point de vue qui utilise des fragments, vous devez toujours utiliser le ChildFragmentManager pour cet affichage, car c'est ce qui permet à FragmentManager de nier ces fragments et de vous assurer que leur état est correctement enregistré et restauré.


0 commentaires