Fragment 和 Activity 添加回调

在Fragment添加回调在Activity中实现,或者在activity中添加回调在Fragment中实现。用于监听一些事件变化,或者传递一些数据。

首先。添加interface回调文件,实例代码如下:

public interface MessageCallBack {
    void sendMsg(String msg);
}

接下来先说说在Fragment中添加回调,在Activity中实现。这种时候。需要在Fragment中初始化回调,则需要调用 onAttach(Context context) 方法代码如下(kotlin实现):

//定义回调变量
private lateinit var callBack:MessageCallBack

    override fun onAttach(context: Context) {
        super.onAttach(context)
        //此处BaseIjkLiveDetailActivity为所要实现回调的Activity
        if(context is BaseIjkLiveDetailActivity){
        //as等同于java中的instanceof
            callBack = context as MessageCallBack
        }
    }

下面来说一下在Activity中添加回调。在Fragment中实现,同样需要初始化回调文件,在Activity中则需要调用 onAttachFragment(Fragment fragment) 方法。代码如下:

 public MessageCallBack callBack;

    @Override
    public void onAttachFragment(@NonNull Fragment fragment) {
        super.onAttachFragment(fragment);
        if (fragment instanceof MessageCallBack) {
            callBack = (MessageCallBack) fragment;
        }
    }

至于实现回调的方法,在此就不多做赘述。
END

你可能感兴趣的:(Android)