按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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...