4
私のUIには、RadioGroup
には3 RadioButtons
と "普通" Button
があります。RxJavaの現在の値を取得Observable
ユーザーがButton
をクリックすると、選択したRadioButton
を読んで、何かをしたいと思っています。
RxView.clicks(button)
.flatMap(x -> RxRadioGroup.checkedChanges(radioGroup_timer))
.map(view -> {
switch (view) {
case R.id.radioButton_10sec_timer:
return 10;
case R.id.radioButton_20sec_timer:
return 20;
default:
return DEFAULT_TIMER;
}
})
.subscribe(duration -> Timber.i("duration: %,d",duration));
それはこれまでのところが、今のユーザーは、私は新しいログメッセージを取得する他のRadioButton
を選択するたびに動作します。
変更を購読せずに現在選択されているRadioButton
を読み取る方法はありますか? withLatestFromがcheckedChangesストリームからのみLATEST要素を取り、flatMapます。この
RxView.clicks(button)
.withLatestFrom(RxRadioGroup.checkedChanges(radioGroup_timer), (click, checked) -> checked)
.map(...)
ようsmthing行う
からすべての項目を放射することフォーム検証のためにラジオグループ内のすべてのイベントに登録するにはどうすればよいですか? –