android MutableLiveData 赋值

Android开发中,MutableLiveData是一个用于管理可观察型数据的类,它是LiveData的一个子类,可以用来传递数据给UI层。

要给MutableLiveData赋值,你需要调用它的setValue(T)方法或者postValue(T)方法。

1、声明代码:

复制代码
class HomeViewModel : ViewModel() {

    private val _text = MutableLiveData<String>().apply {
        value = "This is home Fragment"
    }
    val text: LiveData<String> = _text

    fun setText(value: String) {
        _text.value = value;
    }

    fun postText(value:String){
        _text.postValue(value);
    }

}

2、调用方法:

复制代码
val homeViewModel =
            ViewModelProvider(this).get(HomeViewModel::class.java)

homeViewModel.setText("hello,world")
homeViewModel.postText("hello")

创建ViewModel提供程序。这将创建ViewModel并将其保留在给定ViewModel StoreOwner的存储中,这样我们就可以用homeViewModel来调用方法了。

说明:

setValue应该只在主线程中使用,而postValue可以在任何线程中使用。在实际应用中,如果你需要在后台线程中更新数据,你应该使用postValue。

相关推荐
teacher伟大光荣且正确3 小时前
Qt Creator 配置 Android 编译环境
android·开发语言·qt
飞猿_SIR6 小时前
Android Exoplayer 实现多个音视频文件混合播放以及音轨切换
android·音视频
HumoChen996 小时前
GZip+Base64压缩字符串在ios上解压报错问题解决(安卓、PC模拟器正常)
android·小程序·uniapp·base64·gzip
沙振宇10 小时前
【HarmonyOS】ArkTS开发应用的横竖屏切换
android·华为·harmonyos
橙子1991101612 小时前
Kotlin 中的作用域函数
android·开发语言·kotlin
zimoyin12 小时前
Kotlin 懒初始化值
android·开发语言·kotlin
枣伊吕波13 小时前
第六节第二部分:抽象类的应用-模板方法设计模式
android·java·设计模式
萧然CS13 小时前
使用ADB命令操作Android的apk/aab包
android·adb
_extraordinary_17 小时前
MySQL 事务(二)
android·数据库·mysql
鸿蒙布道师21 小时前
鸿蒙NEXT开发动画案例5
android·ios·华为·harmonyos·鸿蒙系统·arkui·huawei