回调在android开发中必不可少,也是比较常见的,比如控件的点击事件,我们自定义回调基本就是在创建一个方法的时候能够及时拿到对应的信息
Kotlin写法:
private var mOnListener: OnMListener? = nullinterface OnMListener {fun getData(b: Boolean) //有参方法fun get() //无参方法}//方法体,入参传一个相同的接口即可,也可以添加不同参数fun toToSomeThing(l: OnMListener){mOnListener = lmOnListener?.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() {@Overridepublic void getData(boolean b) {}@Overridepublic void get() {}});OkHttpUtil.toToSomeThing(new OkHttpUtil.OnMListener() {@Overridepublic void getData(Boolean b) {}@Overridepublic void get() {}});