如何侦听更改,然后在RxAndroid中执行操作? 公共可流动执行( 可流动分页(源){ 返回可流动。组合测试( McConnectionState.getConnectionState(), mSessionInfo, 分页源, 保持架(联合收割机) .flatMap(this::toViewModel); }
现在,我想在第二页上启动perform() 所以我的重点是侦听分页更改,当它不是第一页(0)时,调用perform()如何侦听更改,然后在RxAndroid中执行操作? 公共可流动执行( 可流动分页(源){ 返回可流动。组合测试( McConnectionState.getConnectionState(), mSessionInfo, 分页源, 保持架(联合收割机) .flatMap(this::toViewModel); },android,rx-java,rx-java2,rx-android,Android,Rx Java,Rx Java2,Rx Android,现在,我想在第二页上启动perform() 所以我的重点是侦听分页更改,当它不是第一页(0)时,调用perform() 最终可流动分页源= mPagination.observe(this.filter)(it->it.getOffset()!=0); 我不知道如何组合这些功能。您可以更改您的执行功能: final Flowable<PaginationParam > paginationSource = mPagination.observe(th
最终可流动分页源=
mPagination.observe(this.filter)(it->it.getOffset()!=0);
我不知道如何组合这些功能。您可以更改您的
执行功能:
final Flowable<PaginationParam > paginationSource =
mPagination.observe(this).filter(it -> it.getOffset() != 0);
perform(paginationSource)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(viewModel -> {
// doAction
}, ex-> {
// Error
}, ()-> {
// Completed, will not emit new action
})
什么是pagination.observe()
?从{ScrollListener}观察“onLoadMore()”,并在事件发生时发出{PaginationParam}。虽然此代码可能会解决问题,但一个好的答案还应该解释它的作用以及它的帮助方式。
perform(paginationSource)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(viewModel -> {
// doAction
}, ex-> {
// Error
}, ()-> {
// Completed, will not emit new action
})
public Flowable<ViewModel> perform(PaginationParam paginationParam) {
return Flowable.combineLatest(
mConnectionState.getConnectionState(),
mSessionInfo,
{state, info -> Holder.combine(state, info, paginationParam)})
.flatMap(this::toViewModel);
paginationSource.flatMap( it -> perform(it))
.subscribe(...)