2017-08-20 24 views
1

2つのフラグメント間で通信したい場合は、基本となるアクティビティで行うことができます。しかし、私の2つのフラグメントは同じ階層レベルにはありません。なぜなら、1つのフラグメントが別のフラグメントの上または上で開かれるからです。Android:フラグメントと他のフラグメントとの直接の通信

オーバーレイするフラグメントのボタンをクリックすると、そのアクティビティを迂回することなく、保持するフラグメントに直接通信する方法がありますか?それは本当に面倒なので。

は、フラグメント1のボタンをクリックすると、だから、私は場合はフラグメント1

に戻し、その後、基礎となる活動にフラグメント2の相互作用を送るとする大きな回り道のように聞こえるフラグメント1にでframeLayoutにフラグメント2を開きますそれを正しく理解し、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

個人的には第二断片を保持している断片です。 しかし、代わりにメッセージバスを使用することができます。

関連する問題