首页 > 解决方案 > PublishSubject.create 的替代 Kotlin Flow 方法().buffer(20)

问题描述

我想每出现 20 次就更新一次回收站视图项。我已经使用 RxJava 实现了,现在想用 kotlin flow 替换它。如何在 Flow 中实现以下功能。

    private val progressObserver = PublishSubject.create<String>()

    progressObserver.onNext(refreshItem)

    progressObserver.buffer(20)
        .subscribeOn(Schedulers.io()).map {
            val refreshItemPositionList = ArrayList<String>()
            for (item in it.distinct()) {
                refreshItemPositionList.add(item)
            }
            return@map refreshItemPositionList
        }.observeOn(AndroidSchedulers.mainThread()).subscribe {
            for (item in it) {
                chatAdapter.notifyItemChanged(item)
            }
        }

标签: androidrx-java2kotlin-coroutineskotlin-flow

解决方案


推荐阅读