findViewById() 代码实验室中未解析的引用

findViewById() unresolved reference in codelabs

大家好! 今天我正在为 Kotlin 做 Google 代码实验室。我正在尝试在函数中使用 findViewById(),但它显​​示为未解析的引用。我敢打赌这是一个相当简单的问题,但我无法弄清楚。这是我的代码

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    findViewById<Button>(R.id.done_button).setOnClickListener { addNickname(it) }
}
}

private fun addNickname(view: View) {
val editText = findViewById<EditText>(R.id.nickname_edit)
val nicknameTextView = findViewById<TextView>(R.id.nickname_text)
nicknameTextView.text = editText.text
nicknameTextView.visibility = View.VISIBLE
editText.visibility = View.GONE
view.visibility = View.GONE
}

当我尝试将 editText 和 nickmaneTextView 值分配给我使用 findViewById() 的视图时,它显示为未解决的敬意。 这是非常基本的,所以我不知道问题出在哪里

非常感谢你的帮助

编辑: 如果我使用

val editText = view.findViewById<EditText>(R.id.nickname_edit)
val nicknameTextView = view.findViewById<TextView>(R.id.nickname_text)

我收到一条错误消息,指出 nicknameTextView 为 null,它崩溃了

你应该加上view

val editText = view.findViewById<EditText>(R.id.nickname_edit)
val nicknameTextView = view.findViewById<TextView>(R.id.nickname_text)

好的,我明白了,必须在

里面创造乐趣
class MainActivity: AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.activity_main)
  }
'here'
}

我知道这是个愚蠢的问题:(

感谢您的帮助