私は3つのアクティビティを持っており、A、B、Cと呼んでいます。AはBとCの両方の親アクティビティです。活性A→B→C→A。 onActivityResultのBのデータを取得する方法
- A - > B - >プレスバックまたはアクションバーのボタンアップ - > A.
- A - > C - >プレスバックまたはアクションバーのボタンアップ - > A.
- - > B - > C - バック>を押し - > B.
- A - > B - > C - >アクションバーのボタンを押し - > A.
BとCの両方が格納されたデータを変更することができ私はBとCを意図してAに変更したデータを送り返し、AのonActivityResult
を使ってそれらのデータを更新します。
Bが一部のデータを変更した場合、問題はフロー4にありますが、これらの変更をどのようにAに送り返すことができますか?私はそれらをCに渡し、CはそれらをAに送り返すべきですが、Cは絶対にそれらのデータを必要としませんか?
更新
私は流れ4.活動AのonActivityResult
で返さIntent
を受けていない、Intent
パラメータは常にnull
あるので、我々はA.
元々、AはCのIntent
を受け取ると思いますので、BのデータをCに渡してAに渡すことはできますが、間違っています。アクティビティAはフロー4にIntent
を受信しません。
ここで、上のボタンのアクションを変更して戻るボタンと同じにして、フロー4を終了します。
(あなたは、コピーこのコードを貼り付け、必要に応じて操作することができますすることができます)、私はこのシナリオを次のように扱います。onCreate()でアクティビティAにブロードキャストを登録し、onDestroy()で登録を解除します。アクティビティCから同じインテントアクションでロードキャストを送信します。それは私の仕事にはかなり良いことですが、これが正しい解決策ではないかと疑います。他の人がもっと良い解決法を使ってこれに飛び込むことを願ってください。 –