2017-01-03 4 views
1

私はカスタムフィルタを使用しており、アダプタからフィルタリングするために制約を渡しています。このシナリオでは、制約を別のアダプタに渡したいのですが、2つの異なるアダプタ間で通信するにはどうすればいいですか?最初のrecyclerviewの選択に応じて、2番目のrecyclerviewでカスタムフィルタを適用する方法は?

+0

コードを投稿してください – avinash

答えて

1

これは、コードでMVPデザインを実行すると非常に簡単に処理できる問題です。

何も言及していないので、いくつかのクラス名を仮定してください。あなたはadapter1adapter2という2つのアダプタを持っていて、fragment1fragment2の中にあるとしましょう。 MainActivity

ここで、アダプターとフラグメントからのコールバック用にインプリメンテーションが実装されている必要があります。したがって、Fragment1adapter1CallbackInterfacefragment2を実装しており、adapter2CallbackInterfaceを実装しています。同様にMainActivityfragment1CallackInterfaceを実装します。これは後方通信を処理します。アダプターとフラグメントには、フォワード通信のためのパブリックメソッドがあります。

だから、誰かがあなたのadapter1でフィルタを選択するたびに、callflowは次のようになります。

adapter1 - >adapter1CallbackInterface - >fragment1CallbackInterface - >fragment2PublicMethod - >言うまでもなく

adapter2PublicMethod、もしadapter1adapter2はあなたの活動に直接含まれており、fragment1Callbackfragment2PublicMethodは無視されます

+0

必要に応じてカスタマイズされた名前を使用 –

+0

ありがとう:)カスタムコールバックインターフェイスを実装しようとしましたが、nullポインタ例外が発生していましたので、Ottoイベントバスライブラリ –

関連する問題