首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【Kotlin】Kotlin 中使用 Lambda 表达式替代对象表达式原理分析 ( 尾随 Lambda - Trailing Lambda 语法 | 接口对象表达式 = 接口#函数类型对象 )

* * @param l 将运行的回调 * * @see #setClickable(boolean) */ public void setOnClickListener...*/ void onClick(View v); } 下面是 IntelliJ IDEA 中 , 为 View 组件设置 点击事件 时 , 输入 setOnClickListener...出现的代码提示 ; View#setOnClickListener 可以设置两种参数 : OnClickListener 类型的对象表达式 : // 添加按钮点击事件 , 设置一个...对象表达式 表示 OnClickListener 子类 // 作为点击事件 textView.setOnClickListener(object : OnClickListener...函数中设置了 (View) -> Unit 类型的 Lambda 表达式 , Kotlin 编译时会查找 setOnClickListener 函数真正接收的是 OnClickListener 接口实例对象

1.1K20

玩转Kotlin 彻底弄懂Lambda和高阶函数

会以表达式的形式传递 为什么要用Lambda 设想一下,在Android中实现一个View的点击事件,可以使用如下实现: View view = findViewById(R.id.textView); view.setOnClickListener...{ v - imageClicked(v) } 接下来我们来看一下,上述的 view.setOnClickListener { v – imageClicked(v) }是如何一步一步演化而来。...方法,设置点击监听器,并将imageClick传进去, // 最终点击ImageView时,会调用viewClicked方法 view.setOnClickListener(imageClick...{ } } Lambda表达式也可以传递给一个高阶函数当做参数,因此上述代码中 view.setOnClickListener(imageClick), = view.setOnClickListener...,并且参数也是一个函数,那么可以省略圆括号 view.setOnClickListener() {v – viewClicked(v) } = view.setOnClickListener

2.9K10
领券