ActivityとFragment間のインタフェースコールバック

1283 ワード

Activityでトリガ、Fragmentで応答


Activity:
private OnClickActivityListener mOnClickActivityListener;

public interface OnClickActivityListener {
    void onClickActivity();
}

@Override
public void onAttachFragment(Fragment fragment) {
    try {
        mOnClickActivityListener = (OnClickActivityListener) fragment;
    } catch (Exception e) {

    }
    super.onAttachFragment(fragment);
}

if(mOnClickActivityListener!=null){
    mOnClickActivityListener.onClickActivity();
}

Fragmentでトリガ、Activityで応答


Fragment:
private OnFragmentInteractionListener mListener;

public interface OnFragmentInteractionListener {
    void onFragmentInteraction();
}

@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");
    }
}

if (mListener != null) {
            mListener.onFragmentInteraction();
}

それから別の中でインタフェースを実現して、インタフェースの方法の中で具体的な実現を書きます


に感謝https://blog.csdn.net/menwaiqingshan/article/details/83856493