数据绑定:将 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)}"