单个接口的情况
比如java中有存在方法
public void delContact(long remoteId,ICommonStringCallback iCommonStringCallback){
Log.i("tag","del contact");
}
在kotlin中调用如下
ContactWrapper.getInstance().delContact(remoteId,object :ICommonStringCallback {});
实现接口
![](https://img.haomeiwen.com/i5438896/4c5c2c45f90e15d0.png)
android studio 自动实现接口如下
ContactWrapper.getInstance().delContact(remoteId,object :ICommonStringCallback {
override fun onResult(i: Int, str: String?) {
TODO("Not yet implemented")
}
});
android studio alt+enter 转换未lambda表达式
![](https://img.haomeiwen.com/i5438896/2ffc9fec92dc1a65.png)
转换后的代码如下
ContactWrapper.getInstance().delContact(remoteId
) { i, str -> TODO("Not yet implemented") };
或如下
![](https://img.haomeiwen.com/i5438896/7338a60bcb5da423.png)
ContactWrapper.getInstance().delContact(
remoteId
) { i, str ->
if (i == 0) {
Log.i(TAG, "${remoteId}deleted success")
}else{
Log.e(TAG,"${remoteId} is not your contact")
}
}
函数存在多个接口的情况
java 中delContactMore函数多个接口参数
public void delContactMore(long remoteId, ICommonStringCallback iCommonStringCallback, ICommonStringCallback iCommonStringCallback2){
Log.i("tag","del contact more ");
}
kotlin中写
ContactWrapper.getInstance().delContactMore(remoteId,object :ICommonStringCallback,object:ICommonStringCallback);
![](https://img.haomeiwen.com/i5438896/e2c253bfb3c3e06a.png)
第2个参数时自动提示选项正确的参数类型
![](https://img.haomeiwen.com/i5438896/d9ef563cb6fbd358.png)
ContactWrapper.getInstance().delContactMore(remoteId,object :ICommonStringCallback(),
object : ICommonStringCallback {
})
用as 的alt+enter自动补全
![](https://img.haomeiwen.com/i5438896/c5be05ce14c9e98d.png)
![](https://img.haomeiwen.com/i5438896/42dc00b75fd7ceeb.png)
![](https://img.haomeiwen.com/i5438896/085b9df35431cc0c.png)
得到的代码如下
![](https://img.haomeiwen.com/i5438896/88d675c5da87c190.png)
ContactWrapper.getInstance().delContactMore(remoteId,object :ICommonStringCallback{
override fun onResult(i: Int, str: String?) {
TODO("Not yet implemented")
}
},
object : ICommonStringCallback {
override fun onResult(i: Int, str: String?) {
TODO("Not yet implemented")
}
})
网友评论