【发布时间】:2018-11-25 18:13:17
【问题描述】:
我是 Android 和 Kotlin 开发的新手。
我想从一个简单的“Hello World”开始,但现在遇到了问题。
我向我的 MainActivity 添加了一个 Textview,并希望设置一个 onClick 侦听器来更改我拖入活动的 TextView 的文本。
编译器现在抱怨“TextView”是一个未解析的引用(对按钮等也是如此)。
然后我按照网站的建议添加了一个 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!" // *
} // *
}
}
有人知道发生了什么吗?
【问题讨论】:
-
刚刚解决了,显然你必须导入android.widget.TextView,这样就解决了问题。无需投票,我们都必须学习。
-
在 kotlin 中不需要使用 findViewById。您可以使用 id 直接访问您的视图。
-
@AkshayRaiyani 能否举例说明如何使用 id 访问视图?
-
@user2868623 这是一篇关于如何使用 id 访问视图的好博客。 antonioleiva.com/kotlin-android-extensions