监听回调实例

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

上一篇 下一篇

猜你喜欢

热点阅读