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。

相关推荐
沐怡旸4 小时前
【底层机制】垃圾回收(GC)底层原理深度解析
android·面试
whatever who cares4 小时前
android/java中gson的用法
android·java·开发语言
用户0273851840264 小时前
【Android】活动的正/异常生命周期和启动模式、标志位详解
android
nono牛6 小时前
MTK平台详解`adb devices`输出的序列号组成
android·linux·adb·智能手机
zhangphil6 小时前
Android通过SQL查询trace分析进程启动线程总数量
android
下位子6 小时前
『OpenGL学习滤镜相机』- Day3: 着色器基础 - GLSL 语言
android·opengl
bqliang6 小时前
Jetpack Navigation 3:领航未来
android·android studio·android jetpack
云存储小天使6 小时前
安卓蛙、苹果蛙为什么难互通?
android
陈大头铃儿响叮当9 小时前
Android Studio升级后,Flutter运行android设备报错
android·flutter·android studio