问题描述
我想在到达PagingData<T>
之前,在某个类似ViewModel
的中间类中获取Adapter
对象的数据,并收集其属性作为列表。
我可以通过flatmap
访问代码,但是我不想应用任何更改。另外,这种访问是无用的,因为整个块在ViewModel
中完成对可观察者的订阅后才运行,因此ViewModel
运行无法访问。
private fun getAssignedDbList(): Flowable<PagingData<T>> {
var list = mutableListOf<Int>()
return repository.getList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.flatMap { pagingData ->
Flowable.just(pagingData.map
{ foo ->
list.add(foo.id)
foo })
}
}
另一个例子,我们假设有这种情况: 在将分页数据传递到视图持有者之前,我将调用另一个API。寻呼数据需要用新的API调用响应填充。如何等待第二个API调用更新分页数据的数据?
private fun getListFromAPI(): Flowable<PagingData<T>> {
var list = mutableListOf<Int>()
return repository.getList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.flatMap { pagingData ->
//call another API calls and waiting for a response to change some of the fields of
//paging data
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)