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调用并等待响应以更改
//分页数据
}
}