在这篇文章之后,我正在使用带有 RxJava/RxKotlin Flowable 的 Room 。我让它运行了,但是将它与 ViewPager 一起使用时遇到了 3 个片段的问题。
我将带您浏览一下我的代码:
我有一个带有选项卡布局和三个片段(A、B 和收藏夹)的 viewpager。前两个片段包含可以添加到收藏夹的数据列表。
在最喜欢的片段中,我使用 Flowable 来监听 A 和 B 所做的更改并相应地更新列表。但是,当一个项目在 A 和 B 中被收藏时,应用程序会崩溃,因为收藏片段中的 Flowable 订阅即使在片段不在前台时也会运行。
我想要的是能够在片段不在前台时停止订阅并在前台开始。
我试图在最喜欢的片段的 onPause 方法中停止它,但 flowable 没有取消订阅或处置方法。
我的代码是
dbRepository?.getAllImportant()?.subscribeOn(Schedulers.io())
?.observeOn(AndroidSchedulers.mainThread())
?.subscribe(getFlowableSubscriber())