【问题标题】: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?

标签: android android-studio android-layout android-viewbinding kotlin-null-safety


【解决方案1】:

该对象可以为空,因为它并非出现在所有 XML 布局中,因此在某些布局中它为空。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多