监听回调实例
2018-12-14 本文已影响0人
mapleSeriesX
/**
* Created by maple on 2018/12/14 13:56
* E-Mail Address:740917401@qq.com
*/
public class A {
/*A的监听器*/
private OkListener listener = null;
/**
* 执行该方法的时候会回调B监听的onOK(int i)
*
* @author maple
* @time 2018/12/14 14:07
*/
public void doSomeTingForA() {
if (listener != null) {
listener.onOk(1);
}
}
/**
*A的接口
*
* @author maple
* @time 2018/12/14 14:09
*/
public interface OkListener {
/*回调方法*/
void onOk(int code);
}
/**
*设置A的监听器
*
* @author maple
* @time 2018/12/14 14:10
*/
public void setListener(OkListener listener) {
this.listener = listener;
}
}
/**
* Created by maple on 2018/12/14 13:57
* E-Mail Address:740917401@qq.com
*/
public class B {
/**
* 监听A的接口回调
*
* @author maple
* @time 2018/12/14 14:12
*/
A.OkListener okListener = new A.OkListener() {
@Override
public void onOk(int code) {
//doSomeTing
System.out.println("code:" + code);
}
};
/**
* 设置监听器
*
* @author maple
* @time 2018/12/14 14:13
*/
void doSomeTingForB() {
A a = new A();
a.setListener(okListener);
}
}