Android 未解析的引用:将流转换为LiveData时作为LiveData

Android 未解析的引用:将流转换为LiveData时作为LiveData,android,kotlin,mvvm,Android,Kotlin,Mvvm,我有以下情况: 这是我的存储库类: import com.mikhailovskii.timesapp.util.Result import kotlinx.coroutines.delay import kotlinx.coroutines.flow.flow class LoginRepository { fun fetchUser() = flow { emit(Result.Loading) delay(1000) emit(R

我有以下情况:

这是我的存储库类:

import com.mikhailovskii.timesapp.util.Result
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.flow

class LoginRepository {

    fun fetchUser() = flow {
        emit(Result.Loading)
        delay(1000)
        emit(Result.Success((0..20).random()))
    }

}
有一个ViewModel类:

import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
import com.mikhailovskii.timesapp.util.Result

class LoginViewModel() : ViewModel() {

    private val loginRepository = LoginRepository()

    private val a = loginRepository.fetchUser()


    val user: LiveData<Result<Int>> get() = loginRepository.fetchUser().asLiveData()

}
导入androidx.lifecycle.LiveData
导入androidx.lifecycle.ViewModel
导入com.mikhailovskii.timesapp.util.Result
类LoginViewModel():ViewModel(){
private val loginRepository=loginRepository()
private val a=loginRepository.fetchUser()
val user:LiveData get()=loginRepository.fetchUser().asLiveData()
}
还有一个结果类:

sealed class Result<out R> {

    data class Success<out T>(val data: T) : Result<T>()

    object Loading : Result<Nothing>()

    object Error : Result<Nothing>()

}
密封类结果{
数据类成功(val数据:T):结果()
对象加载:结果()
对象错误:结果()
}

因此,当我试图借助
asLiveData
方法将存储库的流转换为LiveData时,
asLiveData
被加下划线,studio写到它是一个未解析的引用。但我无法理解为什么会发生这种情况,因为存储库返回了Flow。那么,问题是什么?我如何解决它?

您缺少一个依赖项:

implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0"

(或任何更高版本)

我认为您缺少LiveData依赖性

def lifecycle_version = "2.2.0"

// LiveData
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"

不适用于2.2.5版。你对此有什么意见吗?