You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Kotlin中clickListener函数的问询:该函数是否支持接收匿名函数作为参数

clickListener入参规则解答

你提供的Kotlin代码中,DevByteCountryPropertyListener构造器的clickListener参数完全支持接收匿名函数作为入参。

原理说明

该参数的声明类型为(countryId : String ) -> Unit,属于Kotlin的函数类型定义:

  • 入参要求:仅接收1个String类型的参数,参数名标记为countryId
  • 返回值要求:无返回值(对应Unit类型)
    只要符合上述规则的函数,不管是具名函数、匿名函数还是lambda表达式,都可以作为该参数的合法入参。

代码示例

传入匿名函数的写法

// 直接传入匿名函数初始化监听器实例
val countryListener = DevByteCountryPropertyListener(fun(countryId: String) {
    // 此处编写点击事件的自定义处理逻辑
    println("当前选中的国家ID为:$countryId")
    // 其他业务逻辑,比如跳转国家详情页、筛选国家对应内容等
})

更简洁的lambda写法(Kotlin常用写法,效果等价)

val countryListener = DevByteCountryPropertyListener { countryId ->
    println("当前选中的国家ID为:$countryId")
}

调用逻辑说明

当你调用监听器实例的onClick方法,传入DevByteCountryProperty类型对象时,会自动提取该对象的id属性,传入你之前传入的匿名函数/lambda中执行对应的自定义逻辑。

内容的提问来源于stack exchange,提问作者Ayman Mn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 06:21:03