在实际开发中,Android 的 MutableLiveData 需要考虑到 Null 值的情况,因此它应仅对可空对象进行操作。这可以通过使用 Java 8 的 Optional 类或 Kotlin 的 Nullable 类型来实现。
以下是一个使用 Kotlin 的示例代码:
class MyViewModel : ViewModel() {
private val _myLiveData = MutableLiveData()
val myLiveData: LiveData
get() = _myLiveData
fun doSomething() {
val result: Int? = null // or any non-null value
_myLiveData.value = result
}
}
这里,使用了可空类型 Int?
作为 MutableLiveData 的类型,实现了对 Null 值的支持。在 doSomething()
方法中,可以将任何可空的 Int 类型的值赋给 _myLiveData.value
,包括 Null 值。
除此之外,还可以使用 @Nullable 和 @NonNull 注解来标注 MutableLiveData 的类型,以提高代码的可读性和安全性。