Android 从ViewModel中的存储库获取变量值时类型不匹配
我正在使用Android上架构组件的LiveData和ViewModel 这是我的存储库类-Android 从ViewModel中的存储库获取变量值时类型不匹配,android,kotlin,android-architecture-components,android-livedata,android-viewmodel,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<Stri
class DataRepository {
var imagePath : String = ""
}
这是我的ViewModel,我想在存储库中的值更新后从存储库中获取imagePath的值-
class DataViewModel : ViewModel() {
internal lateinit var imagePath : MutableLiveData<String>
imagePath.value = DataRepository().imagePath
}
classdataviewmodel:ViewModel(){
内部lateinit var imagePath:MutableLiveData
imagePath.value=DataRepository().imagePath
}
问题是数据存储库中的imagePath类型为String,而DataViewModel中的imagePath类型为MutableLiveData
如何将存储库中的imagePath值分配给ViewModel中的值?我需要进行任何类型转换吗?在MutableLiveData类中有一个方法:setValue。因此,您可以尝试以下方法:
internal lateinit var imagePath : MutableLiveData<String>
imagePath.setValue(DataRepository().imagePath)
内部lateinit var imagePath:MutableLiveData
设置值(DataRepository().imagePath)
谢谢。使用LiveData和ViewModel时是否总是需要使用Room?因为我还没有看到没有Room的LiveData和ViewModel教程,如果您不将数据存储到数据库(sqlite),就不需要使用Room