如题,我的 ViewModel 类中有一个列表结构的数据,需要动态加载,代码如下:
class TimelineViewModel : ViewModel() {
val timelines = MutableLiveData<List<TimelineModel>>(emptyList())
private var nextTime = System.currentTimeMillis()
fun getTimeline() {
viewModelScope.launch {
try {
val respData = Repository.getTimeline(nextTime)
if (respData.data != null) {
nextTime = respData.data.feeds.nextTime
val timelineModels = respData.data.feeds.data.filterNotNull().map {
TimelineModel(it)
}
timelines.value = timelines.value.let {
if (it == null) {
timelineModels
} else {
it + timelineModels
}
}
}
} catch (e: Exception) {
Log.e(TAG, "Network Request Fail", e)
}
}
}
}
MutableLiveData#observe
方法观察这个数据,那么观察到的是整个 List 数据的变化,那么该怎么将其转化为 Adapter 的添加元素的行为?这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.