代码上不熟悉的变量

搜索lambda滑脱

fun clickTimePicker(view: View) {
        val c = Calendar.getInstance()
        val hour = c.get(Calendar.HOUR)
        val minute = c.get(Calendar.MINUTE)

        val tpd = TimePickerDialog(this,TimePickerDialog.OnTimeSetListener(function = {
        view, h, m -> Toast.makeText(this, h.toString() + " : " + m +" : " ,

        Toast.LENGTH_LONG).show()

        }),hour,minute,false)

        tpd.show()
    }

1.那个变量中的h和m是什么意思?

2. function =是做什么的?

3.为什么不使用view

最佳答案

这些是the documentation for hourOfDay and its minute method中的OnTimeSetListeneronTimeSet()值。

您的lambda表达式构成onTimeSet()的主体,并且三个lambda参数是onTimeSet()的三个参数。

UPDATE :关于您稍后添加的另外两个问题:

在那里不需要

  • function =。我的猜测是,对于Kotlin SAM转换,function是为lambda指定的名称,该名称将转换为接口(interface)的功能。
  • 至于未使用view的原因,他们不需要它来显示Toast
  • 09-04 22:14