回调在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() {
}
});