Android MainActivity.kt不';看不到按钮';谁的身份证?
代码: IDE错误代码的屏幕截图:Android MainActivity.kt不';看不到按钮';谁的身份证?,android,kotlin,Android,Kotlin,代码: IDE错误代码的屏幕截图: 我不知道可能是什么错误。重新加载和重建没有任何帮助。您在MainActivity的onCreate(或任何其他)方法范围之外编写代码 您的代码是: class MainActivity: AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setCont
我不知道可能是什么错误。重新加载和重建没有任何帮助。您在
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 { }
}
您可以对方法、内部类等使用类级声明,但不能用于编写代码
并且,通过视图的ID直接调用视图只能使用。检查您是否正在使用它,并将代码移动到其中一个方法的作用域中,代码将正常工作。所有操作都必须在any函数中。您的
按钮3.setOnClickListener{}
是在函数外部编写的。
当你在app.gradle文件中添加
apply插件:“kotlin android extensions”
时,小部件可以通过ID直接使用。如果没有ID,你需要声明你的btn。你必须进入gradle脚本并选择build.gradle(模块…)
并添加以下行:
(id为“kotlin android extensions”)
插件{
id'com.android.application'
id“kotlin android”
在这里
}
现在同步欢迎使用堆栈溢出!我认为这一点不仅在公认的答案中得到了解决,而且在@Fr099y中得到了更具体的解决。因此,我建议在添加您自己的答案之前,先看看其他答案,并记下这篇文章最初发布的时间,大约是3年前。
class MainActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button3.setOnClickListener {
// do something
}
}
}