我有一个livedata的列表,比如 List<LiveData<String>>
. 我要遵守这个清单,以便 String
内部 LiveData
更改后,它将通知观察员该列表 String
.
我该怎么做?
我的列表元素 LiveData<String>
所以,不能简单化为 String
.
我知道如何观察 LiveData<String>
,但不是 List<LiveData<String>>
.
请帮忙。
编辑:
列表的元素是 LiveData<String>
因为 String
它来自互联网。所以,列表元素是 LiveData<String>
.
2条答案
按热度按时间x33g5p2x1#
我知道如何观察livedata,但不知道如何列出。
没那么难,你要做的就是交换
List<LiveData<String>>
成为一个LiveData<List<String>>
.为此,你可以使用
MediatorLiveData
.一个观察者就能观察到
所有代码都可以直接转换成java,这个答案中没有使用kotlin特定的代码。
5sxhfpxr2#
如果你想观察
List<LiveData<String>>
,则必须为列表的每个元素添加一个观察者。列表本身是不可观察的,只有它的每个livedata元素。所以,简单地说:迭代列表
观察每个livedata元素
决定要为每个观察到的元素执行的操作