Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 循环将完成迭代时RxJava调用方法_Android_Kotlin_Rx Java_Rx Android - Fatal编程技术网

Android 循环将完成迭代时RxJava调用方法

Android 循环将完成迭代时RxJava调用方法,android,kotlin,rx-java,rx-android,Android,Kotlin,Rx Java,Rx Android,我有问题。解决方法可能很简单,但我的头脑过热 我想在forEach循环完成作业后调用一次方法 感谢您提供的任何示例解决方案 override fun saveWorkers(workers: ArrayList<Worker>): Single<Boolean> { LogMgr.d(TAG, "saveWorkers() : $workers") // remove old workers for current Event Planner and

我有问题。解决方法可能很简单,但我的头脑过热

我想在forEach循环完成作业后调用一次方法

感谢您提供的任何示例解决方案

 override fun saveWorkers(workers: ArrayList<Worker>): Single<Boolean> {
    LogMgr.d(TAG, "saveWorkers() : $workers")

    // remove old workers for current Event Planner and save new
    workers.forEach {
        deleteOldWorkers(it.event_planner_id!!)
                .subscribeOn(getSubscriptionSchedulerForSave())
                .subscribe({ status ->

                }, { error ->

                })
    }

    return Single.create({ emitter ->
        RXModelAdapter.from(Worker::class.java)
                .saveAll(workers)
                .subscribeOn(getSubscriptionSchedulerForSave())
                .subscribe({
                    LogMgr.d(TAG, "saveWorkers() onComplete")
                    emitter.onSuccess(true)

                }, {
                    LogMgr.e(TAG, "saveWorkers() onError ", it)
                    emitter.onError(it)
                })
    })
}

可观察的.merge(workers.map{deleteOldWorkers(it.event\u planner\u id!!)}).doOnComplete()可能?

编译错误与“deleteOldWorkers()”返回类型有关。也许您需要明确地定义它。在我这方面,表达式“val workers=ArrayList()”和“Observable.merge(workers.map{Observable.just(it)})”可以正常编译。
    Observable.merge(workers.map {
    deleteOldWorkers(it.event_planner_id!!)
})