passsy
08/19/2016, 11:07 AM// definitions in Kotlin
fun doSomethingWithClickJavaWay(l: View.OnClickListener){
l.onClick(null)
}
fun doSomethingWithClickKotlinWay(l: (view: View?) -> Unit){
l.invoke(null)
}
consuming it in Kotlin
doSomethingWithClickJavaWay(View.OnClickListener { /*do something*/ })
doSomethingWithClickKotlinWay { /*do something*/ }
consuming in Java
TestKt.doSomethingWithClickJavaWay(new View.OnClickListener() {
@Override
public void onClick(final View v) {
/*do something*/
}
});
TestKt.doSomethingWithClickKotlinWay(new Function1<View, Unit>() {
@Override
public Unit invoke(final View view) {
/*do something*/
return Unit.INSTANCE;
}
});