Andrid进阶之回调方法

回调在android开发中必不可少,也是比较常见的,比如控件的点击事件,我们自定义回调基本就是在创建一个方法的时候能够及时拿到对应的信息

Kotlin写法:

    private var mOnListener: OnMListener? = null

    interface OnMListener {
        fun getData(b: Boolean) //有参方法
        fun get() //无参方法
    }

    //方法体,入参传一个相同的接口即可,也可以添加不同参数
    fun toToSomeThing(l: OnMListener){
        mOnListener = l
        mOnListener?.getData(true)
        mOnListener?.get()
    }

JAVA:

    public interface OnMListener{
        void getData(Boolean b); //有参方法
        void get(); //无参方法
    }

    private static OnMListener mOnListener;

    //方法体,入参传一个相同的接口即可,也可以添加不同参数
    public static void toToSomeThing(OnMListener l){
        mOnListener = l;
        mOnListener.getData(true);
        mOnListener.get();
    }

使用:

Kotlin

        SendTcpUtils.toToSomeThing(object :SendTcpUtils.OnMListener{
            override fun getData(b: Boolean) {
            }

            override fun get() {
            }

        })

        OkHttpUtil.toToSomeThing(object :OkHttpUtil.OnMListener{
            override fun getData(b: Boolean?) {
            }

            override fun get() {
            }

        })

JAVA:

            SendTcpUtils.INSTANCE.toToSomeThing(new SendTcpUtils.OnMListener() {
                @Override
                public void getData(boolean b) {

                }

                @Override
                public void get() {

                }
            });

            OkHttpUtil.toToSomeThing(new OkHttpUtil.OnMListener() {
                @Override
                public void getData(Boolean b) {

                }

                @Override
                public void get() {

                }
            });

你可能感兴趣的:(Android,android,回调,Kotlin写法,Java写法)