Android 如何从PagingData获取数据<;T>;对象在到达ViewHolder之前?
我想在Android 如何从PagingData获取数据<;T>;对象在到达ViewHolder之前?,android,rx-java2,android-paging-library,Android,Rx Java2,Android Paging Library,我想在ViewModel之类的中间类中获取PagingData对象的数据,然后将其传递到适配器并将其属性收集为列表。 我可以通过flatmap访问代码,但我不想应用任何更改。此外,这种访问是无用的,因为整个块在订阅了在ViewModel中完成的可观察对象之后运行,因此运行ViewModel无法访问它 private fun getAssignedDbList(): Flowable<PagingData<T>> { var list = muta
ViewModel
之类的中间类中获取PagingData
对象的数据,然后将其传递到适配器
并将其属性收集为列表。
我可以通过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 })
}
}
private fun getAssignedBlist():可流动{
var list=mutableListOf()
返回repository.getList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.flatMap{pagingData->
可流动.just(pagingData.map
{foo->
添加列表(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
}
}
private fun getListFromAPI():可流动{
var list=mutableListOf()
返回repository.getList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.flatMap{pagingData->
//调用另一个API调用并等待响应以更改
//分页数据
}
}