按MediatorLiveData

问题描述

我想在我的应用程序中添加排序选项。我想使用MediatorLiveDataEnum class。我知道在使用常规LiveData时该怎么做,但是在这里我使用辅助类来处理响应状态。所以:

sealed class DataState<out R> {

    data class Success<out T>(val data: T) : DataState<T>()
    data class Error(val exception: Exception) : DataState<nothing>()
    object Loading : DataState<nothing>()
}

viewmodel

private val _allServers: mutablelivedata<DataState<Servers>> = mutablelivedata()
    val allServers: LiveData<DataState<Servers>> get() = _allServers

    fun getAllServers() {
        viewmodelScope.launch {
            repository.getAllServers()
                .onEach { dataState ->
                    _allServers.value = dataState
                }
                .launchIn(viewmodelScope)
        }
    }

我试图将allServers: LiveData<DataState<Servers>>更改为仅LiveData<Servers>,但是后来我无法处理fragment中的回购状态

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)