問題は次のとおりです。フラグメント3つのタブがあります:同じフラグメントの異なるインスタンス間で通信する
- タブ1(フラグメントA)。タブ2にデータを送信する必要があります。
- タブ2(フラグメントB)。タブ1からデータを受信する必要があります。
- タブ3(フラグメントB)。すでにデータが含まれています。
タブ3とタブ2には、同じフラグメントが含まれていますが、異なるインスタンスが含まれています。
データを(引数ではなく)正確にタブ2に送信するにはどうすればよいですか?
私が試したもの:
- それらが作成されたときの引数を経由してフラグメントBの一意のIDを設定します。
- 断片B
- の両方のインスタンスの同じ
Local Broadcast Receiver
登録recevied IDがフラグメント
しかし残念ながら放送のIDと等しい場合、フラグメントB onReceive()
チェックでは、そのID
EDIT:いくつかのより多くの情報。
これらのタブは、ViewPager
という別のフラグメント内にホストされています。これは、のフラグメントを有するNavigationDrawer
と問題のタブとの組み合わせによるものである。
フラグメントAがあなたのアクティビティにデータを送信し、アクティビティでフラグメントBを送信させるのはなぜですか? –
あなたは、データの送信に問題はないことがわかります。問題は、フラグメントBの最初のインスタンスにデータを正確に送信することです。 – AnZ
BroadcastReceiverはあまりにも多くのメモリを必要とし、非同期プロセスであると思います。そして、解決するセキュリティ問題があります。 –