代码:
class MainActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
button3.setOnClickListener { }
}
IDE错误代码的屏幕截图:link
我不知道错误可能是什么。重新加载和重建并没有帮助。
答案 0 :(得分:3)
您在MainActivity
的{{1}}(或任何其他)方法范围之外编写代码。
您的代码是:
onCreate
但必须是:
class MainActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
button3.setOnClickListener { }
}
您可以对方法,内部类等使用类级声明,但不能编写代码。
只有使用Kotlin Android Extensions才能直接通过其ID调用视图。检查您是否正在使用它并将代码移动到方法范围之一,代码将起作用。
答案 1 :(得分:0)
所有操作必须在任何功能内。您在函数外写的button3.setOnClickListener { }
。
当您添加apply plugin: 'kotlin-android-extensions'
app.gradle文件时,可以通过ID直接使用小部件。如果没有这个,你需要声明你的btn。
答案 2 :(得分:-1)
你必须进入 gradle 脚本并选择 build.gradle(module.....) 并添加这一行: ( id 'kotlin-android-extensions' ) 在插件{ id 'com.android.application' id 'kotlin-android' 这里 } 并立即同步