Pourquoi la communication directe entre les fragments n'est-elle pas recommandée?

Tout en apprenant les fragments d'Android sur developer.android.com, il est précisé que la communication directe entre deux fragments n'est pas recommandée. Je veux savoir quelles seront les conséquences et les cas dans lesquels la communication entre deux Fragments échouerait?

  • Ciblant l'API la plus appropriée
  • Android imeOptions = "actionDone" ne fonctionne pas
  • Android: comment ajouter un contact à la carte SIM en utilisant le SDK?
  • Afficher les classes contenant la déconnexion Android Studio
  • L'ajout d'addresse Android entre les boutons de radiogroup par programme
  • Quelle est la principale différence entre le fragment et l'activité? Quel code peut être écrit en fragment?
  • Android - dessin cache - quand est-il utile?
  • Android: java.util.concurrent.ThreadPoolExecutor
  • Débarrassez-vous de la translucidité du tiroir de navigation Android
  • R.string.value Aide à la notification Android
  • MediaPlayer ne peut pas lire les fichiers audio du dossier de données du programme?
  • Erreur Android "Not_Market_Managed"
  • 2 Solutions collect form web for “Pourquoi la communication directe entre les fragments n'est-elle pas recommandée?”

    Eh bien, avec les Fragments, vous n'êtes pas toujours sûrs d'être en vie et d'être attaché au moment de la communication. Si les fragments sont attachés et disponibles ou non, cela pourrait aussi dépendre de la disposition ou de la taille du périphérique. Si vous êtes absolument sûr que vos Fragments seront tous deux attachés à votre activité et disponibles en même temps, je suppose que vous pouvez communiquer directement.

    Cela dit, les Fragments sont des logiques, des unités autonomes. Du docs:

    You can think of a fragment as a modular section of an activity 

    Cela brise le modèle si les fragments se touchent directement.

    Pourquoi ne pas définir une interface dans votre activité et obtenir le fragment A pour appeler une méthode dans l'activité? Ensuite, votre Activité peut vérifier si le Fragment B est disponible et peut alors appeler la fonction appropriée dans le Fragment B.

    Voici la suggestion de docs

    Un Fragment est juste un composant UI qui fait un peu plus que de se dessiner. Dans le cadre de cette question, il n'est pas différent d'une vue.

    Donc, une question très comparable serait: pourquoi deux avis ne peuvent-ils pas communiquer directement entre eux?

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.