我希望定义一个变量mAction
来实现接口MediaRecorder.OnInfoListener
。
但是代码A是不正确的,我怎么修复它?
代码
val mAction: MediaRecorder.OnInfoListener{
mr, what, extra ->
if (what == MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED) {
//ToDo
}
}
添加内容:
代码B
val mAction = object: MediaRecorder.OnInfoListener{
override fun onInfo(mr: MediaRecorder?, what: Int, extra: Int) {
if (what == MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED) {
}
}
}
您只是缺少了一个=
而不是:
。
val mAction = MediaRecorder.OnInfoListener{
mr, what, extra ->
if (what == MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED) {
//ToDo
}
}
你不能在没有=
的情况下定义属性,除非你在定义自定义getter或使用属性委托。
val mAction = MediaRecorder.OnInfoListener{
mr, what, extra ->
if (what == MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED) {
//ToDo
}
}
你可以这样做