android - Android rxjava更改其他列表中的列表对象
问题描述
我得到一个 API 响应并创建了一个List<Logs>
. 此列表包括另一个列表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()
但无法获得所需的结果。我有关于如何做到这一点的指南或示例?
解决方案
考虑到您正在使用 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()})
我还没有测试代码,但我会说你需要小的修复/更改
推荐阅读
- c# - 在 DataTable 中求和相等的数据并将它们传递给新的 DataTable C#
- sql-server - 在 SSIS 中,如何将 unicode 数据类型转换为 excel 列?
- react-native - 在 onRegionChange 之后映射回之前的位置
- xamarin - Xamarin Forms 中相同大小的标签
- python - 在 Django 中的数据库中查找电话号码后添加其他字段
- c - 设置超出程序中断的内存不会出现段错误
- c# - 射弹不会杀死玩家船?
- android - 从导入的库访问项目中的 jar - gradle / android studio
- android - 如何在我的 Android 应用程序中从 Mi Band 3 获取连续的心率数据
- css - CSS Box,垂直分隔线