数据绑定:将null作为参数传递



如何通过数据绑定将null作为参数传递?

当它只是

android:onClick="@{() -> viewModel.switchFunction(null)}"

我得到cannot find method switchFunction(java.lang.Object)异常。

我的ViewModel功能是

fun switchFunction(param: MyClass?) {
}

事实证明,这很简单——只需要指定null:的类型

<data>
<import type="classes.MyClass" />
</data>
...
android:onClick="@{() -> viewModel.switchFunction((MyClass) null)}"

我认为你做不到。生成的数据绑定代码自动检查空值并避免空指针异常

https://developer.android.com/topic/libraries/data-binding/expressions#null_coalescing_operator

最新更新