将Livedata对象作为视图模型的参数或成员函数调用返回的参数更好



通常在ViewModel中使用mutableLivedAta,然后ViewModel仅将不可变的寿命对象暴露于观察者。 https://developer.android.com/topic/libraries/architecture/livedata#update_livedata_objects

最好将livedata对象公开为视图对象的参数:

val data: LiveData<String>
    get() = _data

或更确切地说,用呼叫返回成员函数:

fun getData(): LiveData<String> {
    return _data
}

所以在第一种情况下,我可以写

println(viewModel.data)

在后者中

println(viewModel.getData())

内部基本相同。但是正如@tyczj所说,第一种形式更惯用。所以,我更喜欢第一个。

最新更新