从ViewModel中的Repository获取变量值时类型不匹配

时间:2018-05-26 17:19:41

标签: android kotlin android-architecture-components android-livedata android-viewmodel

我在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中的值?我需要进行任何类型的铸造吗?

1 个答案:

答案 0 :(得分:2)

有一个方法:MutableLiveData类中的setValue。因此,你可以试试这个:

internal lateinit var imagePath : MutableLiveData<String>
imagePath.setValue(DataRepository().imagePath)