Fragmentネスト子fragment親fragmentコントロールを取得する
1753 ワード
1.コールバックインタフェースICallBackListenerを新規作成します.ここでは1つのパラメータだけでいいです.必要なパラメータがあればカスタマイズできます.
2.親fragmentでインタフェース変数を定義する
3.ここで必要なのは、親fragmentのコントロールのクリックイベントを取得するため、親fragmentにクリックイベントを追加することです.
4.このインタフェースをサブfragmentで実装する(MallFragmentは親fragment)
public interface ICallBackListener{
void onItemClick(View view);
}
2.親fragmentでインタフェース変数を定義する
public static ICallBackListener listener;
public static void setCallBackListener(ICallBackListener listener1) {
listener= listener1;
}
3.ここで必要なのは、親fragmentのコントロールのクリックイベントを取得するため、親fragmentにクリックイベントを追加することです.
@OnClick(R.id.callBackChildFragment)
public void callBackChildFragment(View view) {
if(listener!=null)
listener.onItemClick(view, 0);
}
4.このインタフェースをサブfragmentで実装する(MallFragmentは親fragment)
MallFragment.setCallBackListener(new ICallBackListener () {
@Override
public void onItemClick(View view) {
Log.e("tag", " fragment fragment ");
}
});