【问题标题】:Android Studio ActivityMain.kt not finding IDs of TextView, Buttons etc from activity-main.xmlAndroid Studio ActivityMain.kt 没有从 activity-main.xml 中找到 TextView、Buttons 等的 ID
【发布时间】:2021-02-27 18:37:36
【问题描述】:

我正在努力学习编程。使用 Android Studio 我创建了一个 activity_main.xml 中的 TextView 和 Button,现在我正在尝试在 MainActivity.kt 中使用这两个,但 Android Studio 找不到我的 Textview 和按钮的 ID。我做错了吗?

感谢您的帮助和建议。

操作系统 ManjaroLinux 由 Flatpack 安装的 Android Studio v. 4.1.1 使用 Kotlin 作为编程语言

我的问题的图片

Button declaration activity_main.xml

TextView declaration activity_main.xml

MainActivity.kt error

【问题讨论】:

    标签: android-studio android-layout kotlin android-activity textview


    【解决方案1】:

    使用 R.id.* 引用组件的 ID。 例如,如果 id 由 :

    定义
    android:id="@+id/buttonTxt"
    

    然后参考它:

    val button = findViewById<Button>(R.id.buttonTxt)
    

    这同样适用于任何资源,如字符串 (R.string.*)、颜色、尺寸等。

    【讨论】:

    • 谢谢,您的解决方案可以正常工作,但我认为通过使用 Kotlin 而不是 Java,不再需要使用 findViewById。我读过这一篇antonioleiva.com/kotlin-android-extensions,因为我必须决定是学习 java 还是 Kotlin,它告诉我。现在我很困惑。
    • 您可以通过使用 Kotlin 扩展来避免使用 findViewById。据我了解,Kotlin 扩展通过自己处理这些调用来帮助删除这些简单的函数调用。如果您为此类 Kotlin 扩展生成 Java 代码,您应该在生成的 java 中找到 findViewById。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 2014-06-16
    • 1970-01-01
    相关资源
    最近更新 更多