Оба типа эквивалентны:
button.setOnClickListener {
// ......................
}
button.setOnClickListener(View.OnClickListener {
// ......................
})
, но 1-й тип предпочтительнее.Даже если вы напишите второй, если навести курсор мыши на View.OnClickListener
, Android Studio отобразит это сообщение:
Резервный SAM-конструктор
, и если вы нажмете Alt-Enter, вам будет предложено:
Удалите лишний конструктор SAM
и, если вы щелкните по нему, View.OnClickListener
будет удален.Снова, нажав Alt-Enter, вам будет предложено:
Убрать лямбда-аргумент из скобок
, и если вы нажмете на него, вы получите 1-й тип.Так что не волнуйтесь об этом, используйте 1-й тип, и все будет в порядке.