Kotlin-Android的第一个应用程序未解决的引用TextView按钮等

时间:2018-11-25 18:13:17

标签: android kotlin textview

我是Android和Kotlin开发的新手。

我想从一个简单的“ Hello World”开始,但是已经遇到了问题。

我在MainActivity中添加了一个Textview,并希望设置一个onClick侦听器来更改我拖动到活动中的TextView的文本。

编译器现在抱怨'TextView'是一个未解决的引用(它与Button等相同)。

然后我按照网站的建议添加了kotlinx导入,但这无法解决任何问题。下面的代码示例由我添加了带有星号作为行注释的任何内容。

package com.example.my.mynewapp

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.fragmentX.view.* // *

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val textView: TextView = findViewById(R.id.testView) as TextView  // *
        textView.setOnClickListener { // *
            textView.text = "You clicked me! You flipping clicked me!" // *
        } // *

    }
}

会有人知道发生了什么吗?

6 个答案:

答案 0 :(得分:0)

您在课堂上夸大activity_main.xml
这个TextView是否属于上述布局?
如果是这样,则您不需要findViewById()
只需添加到您的导入中即可:

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

不是

import kotlinx.android.synthetic.main.fragmentX.view.*

然后在活动类的任何地方使用testView(这是TextView的ID,除非是错字)。

答案 1 :(得分:0)

它应该已经自动导入,但是应该有

import android.widget.<WhateverIsMissing>

将WhateverIsMissing替换为未解决的引用

答案 2 :(得分:0)

还有一件事要检查您的导入是否完整:

如果您为活动、片段等定义了多个布局,请确保相应控件的类在布局之间匹配。这是我看到此错误消息的最常见情况。

答案 3 :(得分:0)

如果您使用 Android Studio v.4.2.1,则必须在 (build.gradle) 文件中添加这一行,如下所示:-

id 'kotlin-android-extensions'

答案 4 :(得分:-1)

在 build.gradle 中添加 apply plugin: 'kotlin-android-extensions' 通过双移搜索并编写“构建”,然后在依赖项部分添加插件,然后导入选项应该会出现

答案 5 :(得分:-2)

  • 在项目文件夹下有 gradle 脚本
  • 打开 build.gradle(模块:您的应用名称)
  • 将“id-android-extensions”添加到插件中
  • 然后同步它