0
votes

Comment transmettre des données de fragment vers un autre fragment?

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?


4 commentaires

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?


4 Réponses :


0
votes

Il n'y a pas d'intention Concept de passage dans la communication de fragments, les fragments acceptent uniquement les arguments . Voici un exemple simple de communication de fragments utilisant Bundle : xxx

et obtenez-le d'un autre fragment (récepteur) à l'intérieur du OncreateView () Comme: xxx

mais, une autre bonne pratique pour fragmenter la communication de fragments consiste à utiliser interfaces via activité comme: < / p>

Senderfragment : xxx

activité : xxx

récepteurfragment : xxx

laissez-moi savoir si cela aide.


3 commentaires

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



0
votes

Fragments Ne communiquez pas directement à moins d'utiliser des images de vue. Voici un guide qui peut vous aider à commencer à travailler avec des fragments

https://github.com/codepath/android_guides/wiki / Création-and-utiliser-fragments


0 commentaires

0
votes

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


0 commentaires

0
votes

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> xxx pré>

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",""); 
}


0 commentaires