【发布时间】:2021-10-29 03:08:01
【问题描述】:
我正在使用代码实验室:
class MainActivity : AppCompatActivity() {
private val myName: MyName = MyName("Aleks Haecky")
...
MyName 类:
data class MyName(var name: String = "", var nickname: String = "")
布局中的数据绑定变量:
<data>
<variable
name="myName"
type="com.example.aboutme.MyName" />
</data>
主要活动中设置事件处理程序的代码
...
binding.doneButton.setOnClickListener {
addNickname(it)
}
}
private fun addNickname(view: View) {
binding.apply {
myName.nickname = nicknameEdit.text.toString()
...
为什么变量 myName 会产生以下错误?
在 MyName 类型的可空接收器上只允许安全 (?.) 或非空断言 (!!.) 调用?
myName 未声明为可为空。那么为什么需要 myName?.nickname 呢?
【问题讨论】:
-
你可以在这里阅读:kotlinlang.org/docs/…