据我了解,如果您想在2个片段之间进行通信,则可以对基础活动进行通信。但是,我的2个片段不在同一个层次结构级别,因为1个片段在另一个片段内/上打开。
如果我点击覆盖片段上的一个按钮,有没有办法直接将其传达给控制片段,而不是绕过活动?因为那会非常混乱。
点击片段1上的按钮会在FrameLayout IN片段1中打开片段2.因此,将片段2交互发送到基础活动然后再返回片段1听起来像是一个很大的弯路。
如果我理解正确的话,mListener是活动,而不是保存第二片段的片段
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
}
}
答案 0 :(得分:1)
就个人而言,我会通过活动发送。 但是,您可以使用消息总线代替。