【问题标题】:Why is it not recognized in main activity when I create text view?为什么创建文本视图时在主要活动中无法识别?
【发布时间】:2021-03-07 08:06:58
【问题描述】:

我在activity_main.xml中创建了一个TextView并为其指定了一个ID,但是当我进入MainActivity并点击该ID时,它无法识别TextView,并且所有东西下面的红线是什么样的?我该如何解决这个问题?

【问题讨论】:

  • 请提供您所做的代码 sn-p。
  • 您的问题与java无关,因为您使用的是kotlin。这有很大的不同。其次,you can read this
  • 将此行 apply plugin: 'kotlin-android-extensions' 添加到您的应用级 build.gradle 文件中,然后同步项目,它会工作。

标签: android android-layout kotlin


【解决方案1】:

在 gradle 应用中

plugins {
   id 'kotlin-android-extensions'
}

apply plugin: 'kotlin-android-extensions'

然后你的 Activity 导入这个

import kotlinx.android.synthetic.main.activity_main.*

【讨论】:

    【解决方案2】:

    mainActivity 不知道 txt_test 来自何处,因此您必须为其提供参考。 我建议使用 ViewBinding 或使用旧的:

    val txt = findViewById(R.id.the_id_of_your_textView)
    

    【讨论】:

      【解决方案3】:

      如上述其中一篇文章所示(针对 kotlin) 我将一个项目从 java 代码转换为 kotlin 并且必须手动添加该行

      应用插件:'kotlin-android-extensions'

      到我的 gradle 文件 示例:

          apply plugin: 'com.android.application'
          apply plugin: 'kotlin-android'
          apply plugin: 'kotlin-android-extensions'
      

      编辑说明: 我收到编译器消息 'kotlin-android-extensions' Gradle 插件已弃用。请使用此迁移指南 (https://goo.gle/kotlin-android-extensions-deprecation) 开始使用视图绑定 (https://developer.android.com/topic/libraries/view-binding) 和“kotlin-parcelize”插件。

      很明显,Google 正朝着“视图绑定”的方向前进

      【讨论】:

        猜你喜欢
        • 2019-11-15
        • 1970-01-01
        • 1970-01-01
        • 2015-04-09
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 2021-07-18
        相关资源
        最近更新 更多