为什么不推荐片段之间的直接通信?

SME*_*SME 8 android android-fragments

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

Mik*_*e T 9

好吧,使用Fragments你并不总是确定它们是否会在通信时活着并附着.片段是否已连接且可用,可能还取决于设备布局或大小.如果您完全确定您的片段将同时附加到您的活动并且可用,那么我想您可以直接进行通信.

话虽如此,片段应该是合乎逻辑的独立单元.来自文档:

You can think of a fragment as a modular section of an activity
Run Code Online (Sandbox Code Playgroud)

如果碎片直接相互影响,它会破坏模型.

为什么不在Activity中定义一个接口并获取Fragment A来调用Activity中的方法?然后你的Activity可以检查Fragment B是否可用,然后可以在Fragment B中调用相应的函数.

是文档建议