Android rxjava更改其他列表中的列表对象

时间:2018-05-01 10:12:47

标签: android kotlin rx-java reactive-programming rx-java2

我收到了API响应,并创建了List<Debits>。此列表包含另一个列表Debits。我想要做的是获取每个List<Logs>对象并更改其类型变量,然后返回更改的val s = accountRepository.Logs .filter { result -> result.isSuccessful } .map { result -> result.result.creditLog } .flatMap { Logs -> Observable.from(Logs) .map { Log -> copyLog(Log, Observable.from(Log.debits) .map { debit -> copyDebit(debit, "pc") } .toList().toBlocking().single()) } .toList() } .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe({ Logs -> },{RxErrorHandler()}) 。我有以下代码

List<Logs>

我设法遍历List<Debits>然后通过.toList(),尝试使用<form action="<%=context %>/handler/register" method="post"> 但无法获得所需的结果。我有一个关于如何做到这一点的指南或示例?

1 个答案:

答案 0 :(得分:0)

考虑到你正在使用RxJava和Kotlin,为什么不充分利用它呢?

我将删除一些可观察对象,我认为你不需要它们:

          val s = accountRepository.Logs
                        .filter { result -> result.isSuccessful }
                        .map { result -> 
                          result.result.creditLog.foreach{ 
                             log ->
                              log.debits.foreach{ debit -> debit.type = “pc” }
                          }
                        return result.creditLog  
                 }.subscribeOn(Schedulers.io())
                        .observeOn(AndroidSchedulers.mainThread())
                        .subscribe({ Logs ->

                        },{RxErrorHandler()})

我没有测试过代码,但我会说你需要一些小修补/更改