首页 > 解决方案 > 将列表添加到 MutableLiveData

问题描述

我有一个MutableLiveData,我想在List里面添加一个,但似乎下面的代码不起作用:

    private var factsLive: MutableLiveData<List<Fact>>? = null

private fun getObserver(): SingleObserver<List<Fact>> {
    return object : SingleObserver<List<Fact>> {
        override fun onSuccess(t: List<Fact>) {
            Log.d("test", "Succes")
            factsLive?.value = t
        }

        override fun onSubscribe(d: Disposable) {
            Log.d("test", "Subscribe")
        }

        override fun onError(e: Throwable) {
            Log.d("test", "Error")
        }
    }
}

这让我MutableLiveData像 null 一样返回。

标签: androidmvvmkotlinarchitectureandroid-livedata

解决方案


让你的变量像这样:

private var factsLive: MutableLiveData<List<Fact>> = MutableLiveData<>()

推荐阅读