J'ai essayé plusieurs fois d'envoyer des données d'un fragment à un autre et cela ne fonctionne jamais. J'ai déjà utilisé "Intention" et "Bundle" mais rien ne fonctionne. Ils ont dit d'utiliser le récepteur de diffusion, mais il y a peu d'informations sur Internet. Quelqu'un peut-il me donner un exemple? P>
4 Réponses :
Il n'y a pas d'intention code> code> Concept de passage dans la communication de fragments, les fragments acceptent uniquement les arguments et obtenez-le d'un autre fragment (récepteur) à l'intérieur du mais, une autre bonne pratique pour fragmenter la communication de fragments consiste à utiliser laissez-moi savoir si cela aide. p> p> code>. Voici un exemple simple de communication de fragments utilisant
Bundle code>:
OncreateView () code> Comme: p>
interfaces code> via
activité code> comme: < / p>
Tentative d'invoquer la méthode virtuelle 'java.lang.string android.os.bundle.getstring (java.lang.string)' sur une référence objet nulle
Vous envoyez des données au même fragment! Voici quelques modifications sur votre fragment d'expéditeur: ** Data String1 = "OLA"; Parque_fragment Newfragment = nouveau parque_fragment (); Bundle args = nouveau paquet (); arg.oppationtring ("Key1", données1); Newfragment.Setarguments (ARG); mcontext = getactivité (); ** Remplacez cela espère que cela fonctionnera.
Tentative d'invoquer la méthode virtuelle 'java.lang.string android.os.bundle.getstring (java.lang.string)' sur une référence objet nulle
Fragments Ne communiquez pas directement à moins d'utiliser des images de vue. Voici un guide qui peut vous aider à commencer à travailler avec des fragments p>
https://github.com/codepath/android_guides/wiki / Création-and-utiliser-fragments p>
Vous pouvez utiliser ViewModel pour partager des données entre fragments, vous pouvez voir les détails dans Repo: Entrez la description du lien ici p>
Les données peuvent être transmises entre des fragments à l'aide de Bundle
Vous devez écrire cela en place où vous essayez de changer le fragment p> en fragmentb Vous pouvez recevoir ceci Données (vous pouvez écrire cela dans le cycle de vie OnViewCreated () du fragment): P> Bundle bundle = this.getArguments();
if (bundle != null) {
value1=bundle.getInt("key_name1", 0); //0 is the default value , you can change that
value2=bundle.getString("key_name2","");
}
Quelles données essayez-vous d'envoyer?
I Wuant Pass Strings
Vos fragments sont-ils hébergés par la même activité?
Dupliqué possible de Comment envoyer des données d'un fragment à un autre Fragment?