Le passage des données précédentes fragment de fragment actuel
Je suis en Utilisant la Navigation Tiroir de mon application. J'ai un MainActivity et le repos sont des Fragments. La question est donc la Supposons que j'ai trois fragments A,B,C.
Maintenant j'ai un bouton et je suis l'envoi de données à partir d'Un>B.
Par exemple putSring("datafrom Un","datafrom Un");
Dans B maintenant je recevoir des données à Partir de A.
J'ai un bouton dans B,et je suis l'envoi de données à partir de B>C.
Par exemple putSring("datafrom B","datafrom B");
Maintenant C i recevoir des données à Partir de B.
Ensuite, j'ai un Bouton dans C,et l'envoi de données à partir de C>B.
Par exemple putSring("datafrom C","datafrom C");
Donc,semble comme en B je suis l'obtention de données à partir de deux fragments différents. J'ai essayé avec le tout en utilisant de l'activité et cela fonctionne bien startActivityforresult. mais comment puis-je manager lorsque tous les fragments.
- Si u sont à envoyer des données à partir d'Un->B , que u ont à manitain le BOOLÉEN que je suis d'Une et même l'affaire C->A , u doivent utiliser le même type BOOLEAN qui précisent que le u de c et l'envoi de données à B
- mais comment vais-je vérifier? à partir de laquelle fragment c'est passé
- Si u sont à envoyer des données à partir d'Un->B, la valeur BOOLÉENNE VRAI.....Et quand u sont l'envoi de données à partir de C->A , utilisez la valeur BOOLÉENNE FALSE
- mais lorsque vous transmettez des données à partir d'Un>B sur l'époque app crash avec des entrées en phase nationale. reasone il n'faux de C>B ..il a obtenu?
- Si un seul fragment est active à un moment, semble comme en B je suis l'obtention de données à partir de deux fragments, c'est impossible. En outre, si vous utilisez
setArguments()
surFragment
objets, vous n'avez pas à vous inquiéter à ce sujet. - Vérifier mon ci-dessous la solution, et laissez-moi savoir en cas de souci
Vous devez vous connecter pour publier un commentaire.
Quand u envoyer des données à partir d'Un Fragment de Fragment B utilisent le même booléenne comme ci-dessous:-
FragmentA -> FragmentB
Et quand u sont à envoyer des données à partir du Fragment C de Fragment B utilisent le même type BOOLEAN qui est utilisé dans le Fragment de A à B comme ci-dessous-
FragmentC -> FragmentB
Et dans la dernière, nous devons vérifier que la valeur est reçue dans FragmentB est à partir d'où, comme le Fragment d'UN OU FragemntC
FragmentB
Vous pouvez appeler setTargetFragment() lorsque vous démarrez le Fragment C de la B. Exemple:
et puis si vous voulez transférer les données vers du fragment B de C, vous pouvez appeler le code suivant:
et l'obtenir à partir de la onActivityResult() dans votre fragment B: