0

谁能指出我正确的方向吗?我有一个 RecyclerView,它拥有一个有 2 个片段的 ViewPager。所以视图层次结构看起来像这样:

Activity
-------RecyclerView
------------------Adapter ↖
------------------------ViewPager ↖
---------------------------------Fragment1 (Radio Buttons) , Fragment2 (Num Picker)

我试图检索每个单选按钮(枚举长值)上的单击,因此我修改了适配器内的 Room DB。

用例的 Gif:

动图

这是我的Open Fragment1代码:

private val publishSubject: PublishSubject<Long> = PublishSubject.create()
open val publishObservable: Observable<Long> = publishSubject

RadioButton.onClick { _ -> 
    publishSubject.onNext(WINNER.AWAY.value) 
    println("Fragment 1 = ${WINNER.AWAY.value}") // <-- This prints on Click
}

enum class WINNER(val value: Long) {
        LOCAL(1),
        DRAW(2),
        AWAY(3)
}

适配器中:

val fragment1 = Fragment1()
mDisposable.add(fragment1.publishObservable
                .subscribeOn(Schedulers.io())
                .subscribe { println("Adapter = $it") }) // <-- This doesnt println

我尝试过使用 Bundles、Shared Preferences、Interfaces 甚至其他 Horizo​​ntal RecyclerView(这个我不确定如何与固定视图一起使用)但我知道性能明智的 RV 更好。

4

0 回答 0