Вы пишете код вне области действия MainActivity
onCreate
(или любой другой) метода.
Ваш код:
class MainActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
button3.setOnClickListener { }
}
Но должно быть:
class MainActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button3.setOnClickListener {
// do something
}
}
}
Вы можете использовать объявление уровня класса для методов, внутренних классов и т. Д., Но не для написания кода.
И вызывать представления напрямую по их идентификаторам можно только с помощью Kotlin Android Extensions . Проверьте, используете ли вы его и переместите свой код в область действия одного из методов, и код заработает.