代码上不熟悉的变量
搜索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中的OnTimeSetListener
和onTimeSet()
值。
您的lambda表达式构成onTimeSet()
的主体,并且三个lambda参数是onTimeSet()
的三个参数。
UPDATE :关于您稍后添加的另外两个问题:
在那里不需要
function =
。我的猜测是,对于Kotlin SAM转换,function
是为lambda指定的名称,该名称将转换为接口(interface)的功能。 view
的原因,他们不需要它来显示Toast
。