beze
07/13/2017, 12:18 PMcharacter1Observable = inputObservable.map { it[0] }
และเมื่อพิมพ์ครบจำนวน ก็ดักเพื่อทำ action ต่อไป ประมาณนี้
inputObservable.filter { checkCompleted() }.flatMap { action() }
ส่วนใน activity ก็จะ bind rx_text กับ viewmodel กับทุก characters ประมาณนี้ครับ
viewModel.character1Observable.bindTo(character1TextView.rx_text).addTo(subscriptions)
--
_ก่อนหน้านี้ใช้ reactive-android v0.2.18 มัน work ครับ พอเปลี่ยนเป็น v0.4.0 มันไม่ work _
ตอนนี้ผมได้เข้ามาแก้จากโค้ดเดิม จนมัน work เป็นประมาณนี้ครับ
ใน viewModel แต่ละ characters ปรับจาก Observable เป็น MutableProperty
โดยไปเซ็ตค่าของแต่ละ characters ตรง chain ที่ดัก action ตอนพิมพ์ครบเลย
inputObservable.filter { setCharactersValueAndCheckCompleted() }.flatMap { action() }
แล้วตรง activity ก็สลับเป็น
character1TextView.rx_text.bindTo(viewModel.character1).addTo(subscriptions)
คิดว่าน่าจะมีท่าสวยกว่านี้นะครับ แต่ยังไม่เชี่ยว Rx เลย เลยเน้นแก้จากโค้ดที่มีให้ไปก่อน
แนะนำได้นะครับ 😆