Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MainActivity.kt不';看不到按钮';谁的身份证?_Android_Kotlin - Fatal编程技术网

Android MainActivity.kt不';看不到按钮';谁的身份证?

Android MainActivity.kt不';看不到按钮';谁的身份证?,android,kotlin,Android,Kotlin,代码: IDE错误代码的屏幕截图: 我不知道可能是什么错误。重新加载和重建没有任何帮助。您在MainActivity的onCreate(或任何其他)方法范围之外编写代码 您的代码是: class MainActivity: AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setCont

代码:

IDE错误代码的屏幕截图:


我不知道可能是什么错误。重新加载和重建没有任何帮助。

您在
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
        }
    }
}