为什么 binding.myTextView returns 一个 TextView?而不是 TextView
Why binding.myTextView returns a TextView? and not TextView
在我称为 activity_main.xml
的布局中,我有两个 TextView。我可以使用变量
从我的 MainActivity 访问它
binding = ActivityMainBinding.inflate(layoutInflater)
这样:
binding.textView1
binding.textView2
在我的代码中 binding.textView1
returns 一个对象 TextView
但第二个 returns 一个对象 TextView?
.
这迫使我使用 ?.
运算符访问第二个 TextView
binding.textView2?.text = "HelloWorld"
因为使用 .
运算符导致错误
Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type TextView?
所以问题是有没有一种方法可以在我的布局中定义一个不可为空的视图? 属性 相同的两个对象怎么可能有不同的行为?
该对象可以为 null,因为它不存在于所有 XML 布局中,因此在某些布局中它为 null。
在我称为 activity_main.xml
的布局中,我有两个 TextView。我可以使用变量
binding = ActivityMainBinding.inflate(layoutInflater)
这样:
binding.textView1
binding.textView2
在我的代码中 binding.textView1
returns 一个对象 TextView
但第二个 returns 一个对象 TextView?
.
这迫使我使用 ?.
运算符访问第二个 TextView
binding.textView2?.text = "HelloWorld"
因为使用 .
运算符导致错误
Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type TextView?
所以问题是有没有一种方法可以在我的布局中定义一个不可为空的视图? 属性 相同的两个对象怎么可能有不同的行为?
该对象可以为 null,因为它不存在于所有 XML 布局中,因此在某些布局中它为 null。