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'
}
我知道这是个愚蠢的问题:(
感谢您的帮助
大家好! 今天我正在为 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'
}
我知道这是个愚蠢的问题:(
感谢您的帮助