数据绑定:将 null 作为参数传递
Databinding: pass null as argument
如何通过数据绑定将 null
作为参数传递?
刚好
android:onClick="@{() -> viewModel.switchFunction(null)}"
我得到 cannot find method switchFunction(java.lang.Object)
异常。
我的 ViewModel 函数是
fun switchFunction(param: MyClass?) {
}
我认为你不能那样做。生成的数据绑定代码自动检查空值并避免空指针异常
https://developer.android.com/topic/libraries/data-binding/expressions#null_coalescing_operator
事实证明,这很简单 - 只需指定 null
:
的类型
<data>
<import type="classes.MyClass" />
</data>
...
android:onClick="@{() -> viewModel.switchFunction((MyClass) null)}"
如何通过数据绑定将 null
作为参数传递?
刚好
android:onClick="@{() -> viewModel.switchFunction(null)}"
我得到 cannot find method switchFunction(java.lang.Object)
异常。
我的 ViewModel 函数是
fun switchFunction(param: MyClass?) {
}
我认为你不能那样做。生成的数据绑定代码自动检查空值并避免空指针异常
https://developer.android.com/topic/libraries/data-binding/expressions#null_coalescing_operator
事实证明,这很简单 - 只需指定 null
:
<data>
<import type="classes.MyClass" />
</data>
...
android:onClick="@{() -> viewModel.switchFunction((MyClass) null)}"