为什么不build议片段之间的直接通信?

当在developer.android.com上学习android片段时,指定不build议在两个片段之间进行直接通信。 我想知道两个碎片之间的通信会失败的结果和后果是什么?

  • Android的线程池策略,可以用Loader来实现吗?
  • Android Studio XML布局文件存在,但我找不到它
  • 键盘打开时,带有片段的活动不会resize
  • 视图传呼机隐藏在标签栏后面的片段
  • 当AppTheme为半透明时,软键盘与EditTextPreferenceDialogFragmentCompat重叠
  • 按照configuration,ScrollView中的视图与父项不匹配
  • 共享元素转换没有预期的行为
  • 你会如何在Android中创建一个popover视图,比如Facebook评论?
  • 那么,对于碎片,你不一定能确定它们在交stream的时候是否还活着。 碎片是否连接和可用还可能取决于设备的布局或大小。 如果你确定你的碎片既可以同时被join到你的活动中,那么我想你可以直接进行交stream。

    话虽如此,碎片意味着是合乎逻辑的独立单位。 从文档:

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

    如果这些片段直接相互影响的话,这种模式会被打破。

    为什么不在你的Activity中定义一个接口,并让Fragment A在Activity中调用一个方法? 然后您的活动可以检查片段B是否可用,然后可以调用片段B中的相应function。

    这是文档build议

    一个片段只是一个UI组件,只不过是自己绘制而已。 在这个问题的范围内,它与View没有区别。

    所以一个非常相似的问题是:为什么两个Views不能直接相互交stream?