Moh*_*our 0 android kotlin android-livedata
livedata 和 mutableLiveData 有什么区别?什么时候双方都能观察到新值?
LiveData和MutableLiveData之间的唯一关键区别是您可以更改MutableLiveData的值,但LiveData不允许您更改它的值。LiveData只让你观察和利用它的价值。
它们通常一起使用,MutableLiveData 用于记录更改的值,LiveData 用于通知 UI 有关更改的值。 例如
class SampleViewModel(): ViewModel() {
private val _sampleString = MutableLiveData<String>()
val sampleString: LiveData<String> get() = _sampleString
fun setSampleString(temp: String) {
_sampleString.value = temp
}
}
class MainActivity: AppCompatActivtiy {
private val viewModel: SampleViewModel by viewModels()
//in onCreate
viewModel.sampleString.observe(this) {
//here you will have the value sampleString, that you can use as you want.
}
//that is how you can update the value of MutableLiveData
viewModel.setSampleString("random string")
}
Run Code Online (Sandbox Code Playgroud)
在这里,一旦您将值分配给 MutableLiveData _sampleString,LiveData SampleString将收到通知并通知其中所做的更改。一旦 MutableLiveData 中更新了新值,LiveData 就会观察到新值。
我希望这已经消除了您的疑虑。
| 归档时间: |
|
| 查看次数: |
3597 次 |
| 最近记录: |