我在Android上使用来自架构组件的LiveData和ViewModel。
这是我的存储库类 -
class DataRepository {
var imagePath : String = ""
}
这是我的ViewModel,我希望在更新存储库中的值后从存储库中获取 imagePath 的值 -
class DataViewModel : ViewModel() {
internal lateinit var imagePath : MutableLiveData<String>
imagePath.value = DataRepository().imagePath
}
问题是DataRepository中的 imagePath 的类型为 String ,而DataViewModel中的imagePath的类型为 MutableLiveData 。
如何将存储库中的imagePath值分配给ViewModel中的值?我需要进行任何类型的铸造吗?
答案 0 :(得分:2)
有一个方法:MutableLiveData类中的setValue。因此,你可以试试这个:
internal lateinit var imagePath : MutableLiveData<String>
imagePath.setValue(DataRepository().imagePath)