Android:Fragment和另一个Fragment之间的通信直接在它之上

时间:2017-08-20 01:15:30

标签: android android-fragments

据我了解,如果您想在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");
    }
}

1 个答案:

答案 0 :(得分:1)

就个人而言,我会通过活动发送。 但是,您可以使用消息总线代替。