我是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!" // *
} // *
}
}
会有人知道发生了什么吗?
答案 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)