谁能指出我正确的方向吗?我有一个 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 甚至其他 Horizontal RecyclerView(这个我不确定如何与固定视图一起使用)但我知道性能明智的 RV 更好。