問題タブ [rx-binding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
6050 参照

java - SearchView、Retrofit、RxJava (RxBindings) で検索機能を実装するには?

ユーザーがSearchViewウィジェットに入力すると、アプリは API 呼び出しを (バックグラウンド スレッドで) 実行してサーバーから検索結果を取得し、それらを ( UI スレッドで) RecyclerView に表示する必要があります。

フラグメントで次のコードを使用します。

しかし、例外があります:

を削除する.subscribeOn(Schedulers.io())と、フラグメントが作成され、クエリが入力されていないときに検索 API 呼び出しが起動され、SearchView例外が発生します

次に、検索クエリを入力するretrofitService.search(query)と、呼び出されなくなりました。

0 投票する
1 に答える
1116 参照

android - RxJava Observable の現在の値を取得する

私のUIにはRadioGroupwith 3RadioButtonsと "normal"がありButtonます。

ユーザーがクリックするとButton、選択したものを読み込んでRadioButton何かをしたいと思います。

これまでのところ機能していますが、ユーザーが別のものを選択するたびRadioButtonに、新しいログ メッセージが表示されます。

RadioButton変更を購読せずに現在選択されているものを読み取る方法はありますか?

0 投票する
1 に答える
246 参照

android - イベント バスを使用して RxJava サブスクリプションを渡す

現在、RxJava と RxBinding を使用してビューの変更を観察するプロジェクトに取り組んでいます。onResumeこれは、ライフサイクル イベントに簡単にアクセスできるフラグメントやアクティビティに対して非常にうまく機能していますonPause

最近、ビューのリストを表示する RecyclerView を導入しました。それらはすべて、サブスクライブしたいデータ ストリームにすることができます。私が直面した問題は、作成時に CompositeSubscription オブジェクトをアクティビティ/フラグメントからアダプタを介してビュー ホルダーに渡すことです。もちろん、うまく機能しません。ユーザーが画面を離れて戻ってきたとき (onPauseおよびonResume呼び出されているとき)、ViewHolders は再作成されません。

解決策は、アダプター、レイアウト マネージャー (既存のビュー ホルダーにアクセスするため) のライフサイクルを認識させることですが、ロジック レイヤー間でこれらのサブスクリプション参照を渡すために追加のコードを記述する必要があります。

しかし、私の同僚の 1 人がイベント バスを使用することを提案しました。これは、イベントのサブスクリプションをアクティビティ/フラグメントに渡すために使用され、そこで CompositeSubscription に追加され、すべてが一緒にサブスクライブ解除されます。さらに、ユーザーが戻ってきたときに、自分自身をサブスクライブするようにビュー ホルダーに通知できます。

このアプローチについてどう思いますか?このアプローチで注意すべき落とし穴はありますか?

0 投票する
2 に答える
1211 参照

android - Android アプリの RxJava と MVP

MVP アーキテクチャを使用し、View 側で RxJava と RxBinding を使用して Android アプリに画面を実装しようとしています。

基本的に、2 つのスピナー、1 つの TextEdit、およびデフォルトで無効になっているボタンがあります。スピナーでアイテムが選択されていて、テキスト フィールドが空でない場合にボタンを有効にしたい。コードは次のとおりです。

問題は、それを MVP パターンに統合する方法です。理想的には、ボタンを有効にする「ビジネス ロジック」はプレゼンターにある必要があります。これを達成するための最良の方法は何ですか?元のオブザーバーを何らかの方法でプレゼンターに渡すことを考えています (副次的な質問はどのように?)。プレゼンターはそれらのオブザーバーを組み合わせて、ボタンを有効にするロジックを持ちます。最後に、View を呼び出してボタンの状態を変更するだけです。

より良いオプションはありますか?View 側に RxJava を使用した MVP の良い例はありますか?

0 投票する
1 に答える
506 参照

android - RxAndroid onError の後、ボタン クリック リスナーが機能しなくなる

ボタンクリックイベントが機能しなくなる理由を理解したいと思います。Observables で RxBinding と Retrofit 2 を使用しています。

(ログイン後付けサービスから) エラーが発生した場合、メソッド handleError は正常に実行されますが、その後、クリック イベントは発生しなくなります。

私は何か間違ったことをしていますが、理解できません。改造エラーを処理するより良い方法はありますか?

ありがとう

0 投票する
1 に答える
888 参照

android - RxJava/RxBinding - サブスクリプションが存在するかどうかを確認します

私は RxBinding を使用しており、アイテムを再利用する onBindViewHolder メソッドの RecyclerView アダプターでサブスクリプションを作成しています。サブスクライバーを EditText オブジェクトに既に割り当てているかどうかを確認し、その場合はそのサブスクリプションを削除する簡単な方法はありますか?

私のコードは次のようになります

0 投票する
1 に答える
779 参照

android - CombineLatest と RxView.clicks

テキストビューのクリックと編集ボックスのテキスト変更を検出するために Rxbinding ライブラリを使用しています。textview をクリックするか、空でない編集ボックスを使用し、以下のように 2 つのオブザーバブルで Combinelatest 演算子を使用していることを検出する必要があります。

問題は、 vPriceOnReq (TextView)をクリックするたびに、 Statement-1が呼び出されず、Statement-3のみが呼び出されることです。しかし、vProjectBudget (EditText) にテキストを入力するたびに、Statement-2Statement-3が常に呼び出されます。誰かが私がここで間違っていることを理解するのを手伝ってくれますか?