kotlin回调和java回调

kotlin回调和java回调的对比

废话不多说,人狠话不多,直接撸代码:

kotlin的回调

class A{
	fun setListeren(canshu1:Int,mListen: (String?) -> Unit) {
		//费时的操作-------后调用mListen
		mListen("回调的内容")//运行到Log.d的传入监听
	}

}

class B{
	a:A=A()
	//为了更直观看到参数和回调的参数,所以多加了参数233,不要的可以省略
	a.setListeren(233){
		 Log.d(TAG, "回调内容为:$it")
	}

}

java的回调

/**
 * 按钮式回调
 */
public class B {
    public void bb() {
        new A().setmOnclickListen(new A.ClickCallback() {
            @Override
            public void clickCallback() {
                Log.d("111", "=返回到这运行=");
            }
        });
    }
}


public class A {
    private ClickCallback mCallback;
    public void aa() {
        new Handler().postDelayed(new Runnable() {
            public void run() {
                //耗时操作
                mCallback.clickCallback();//返回到B那里去运行代码
            }
        }, 2000);
    }
    //自定义回调接口
    public interface ClickCallback {
        void clickCallback();
    }
    public void setmOnclickListen(ClickCallback callback) {//构造函数中传callback进来
        this.mCallback = callback;
    }

}
发布了26 篇原创文章 · 获赞 24 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wy313622821/article/details/105011839