Kotlin 开发时 , 经常遇到这种情况 , 最后一个函数是匿名内部类 , 匿名内部类中只实现了一个函数 , 此时使用 Lambda 表达式替代该 匿名内部类 ;
如 : 为按钮添加点击事件 , 对应的...表达式 其本质 就是 函数类型 的 匿名对象 , 也是一个实例对象 , 在堆内存中分配相应的空间 ;
在下面的代码中 , 使用 对象表达式 创建了匿名对象 , 该匿名类实现了 View.OnClickListener...或 对象表达式 ;
该 接口类型 中 只定义了一个函数 ;
可以 省略掉 匿名内部类 也就是 对象表达式的定义 , 直接使用 接口中的函数 类型对象 , 也就是 Lambda 表达式 / 匿名函数 /...getListenerInfo().mOnClickListener = l;
}
而 OnClickListener 是一个接口 , 接口中只有一个方法 ;
/**
* 在单击视图时调用回调的接口定义...*/
void onClick(View v);
}
下面是 IntelliJ IDEA 中 , 为 View 组件设置 点击事件 时 , 输入 setOnClickListener