在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