私はそれを回避する方法はないと思います。ドキュメントの「聞く」という言葉は、より比喩的です。すべてのフラグメントを明示的に呼び出す必要があります。
あなたが得ることができる最も近いものは、あなたのActivityクラスで維持されているフラグメントのリストを持つことです。例:カスタマイズされたフラグメントクラスを作成します。
public class MyFragment extends Fragment{
public abstract void doTask();
}
すべてのフラグメントをこのクラスから継承します。
public class FragmentA extends MyFragment{
@Override
public void doTask(){
//exec code here
}
}
アクティビティクラスでは、フラグメントを作成するたびに、それをリストにも追加します。イベントが発生したら、すべてのフラグメントを呼び出します。
public class MyActivity extends Activity{
List<myFragment> mFragmentList = new ArrayList<MyFragment>();
public void addFragment(MyFragment fragment){
mFragmentList.add(fragment);
}
public void onEvent(){
for(MyFragment fragment:mFragmentList){
fragment.doTask();
}
}
}
注:フラグメントがそれほど多くない場合、このソリューションはやり過ぎになる可能性があります。