我认为我正在努力解决一个非常普遍的问题。
我在xml文件中创建了一个按钮,并用ID对其进行了标记。然后,我想在MainActivity.kt中创建onClickListener。但是,当我键入按钮的ID时,它被标记为红色,并且似乎Android Studio无法识别它。我已经尝试过清理和重建项目,但是问题仍然存在。无效的缓存/重启也没有帮助。
Android Studio提供了一些屏幕。
View from XML
View from MainActivity.kt
感谢您的时间和帮助!
答案 0 :(得分:1)
您要执行的操作是在Android Studio中使用合成视图绑定。据我在网上找到的they are not recommended anymore。请改用findViewById
:
val button = findViewById<Button>(R.id.SUB_button)
button.setOnClickListener { ... }
答案 1 :(得分:1)
如果要使用Jetbrains的合成视图绑定,则需要确保在模块gradle文件中添加kotlin-android-extensions插件。
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions' }
Stefan在正确性之上的回答指出它现在已经过时了,但是您仍然可以使用它。或者,再次按照他的答案,使用findViewById。
或者,您可以使用视图绑定。为此,请确保在gradle文件的Android部分中包含以下条目:
buildFeatures{
viewBinding = true
}
有关使用方法,请参见https://developer.android.com/topic/libraries/view-binding。