为啥 binding.myTextView 返回一个 TextView?而不是 TextView
Posted
技术标签:
【中文标题】为啥 binding.myTextView 返回一个 TextView?而不是 TextView【英文标题】:Why binding.myTextView returns a TextView? and not TextView为什么 binding.myTextView 返回一个 TextView?而不是 TextView 【发布时间】:2021-10-05 05:02:38 【问题描述】:在名为activity_main.xml
的布局中,我有两个TextView。我可以使用变量从我的 MainActivity 访问它
binding = ActivityMainBinding.inflate(layoutInflater)
这样:
binding.textView1
binding.textView2
在我的代码中 binding.textView1
返回一个对象 TextView
但第二个返回一个对象 TextView?
。
这迫使我使用 ?.
运算符访问第二个 TextView
binding.textView2?.text = "HelloWorld"
因为使用.
运算符会导致错误
Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type TextView?
那么问题是有一种方法可以在我的布局中定义一个不可为空的视图吗?两个具有相同属性的对象怎么可能有不同的行为?
【问题讨论】:
也许发布你的activity_main.xml? 【参考方案1】:该对象可以为空,因为它并非出现在所有 XML 布局中,因此在某些布局中它为空。
【讨论】:
以上是关于为啥 binding.myTextView 返回一个 TextView?而不是 TextView的主要内容,如果未能解决你的问题,请参考以下文章
为啥 editActionsForRowAt 返回很多图像而不是一张图像?