2011-01-03 7 views
2

検索APIから開始されたアクティビティがあります。 startActivityForResultと同様の方法で、検索が実行されたときに実行されていたアクティビティにいくつかの値を「返す」ようにしたいのですが、それを行う方法がわかりません。助言がありますか?Android:検索APIを使用してstartActivityForResultと同等の処理を行う

アクティビティA - >(startActivity) - > 活動B - >(検索) - >アクティビティC - >(リターン) - >アクティビティB

瞬間に私が始めています値を使用してアクティビティBの新しいインスタンス。これはうまくいきますが、アクティビティスタックはそうするべきではありません。つまり、Bから戻ることは、Aの代わりにC、B、Aを経由して戻ってくるでしょう。

これを行う方法についてのご意見はありますか?

+0

です:A - > Bは、実際にstartActivityForResult、ないstartActivityを使用していますので、私はする必要があり元のBの結果を返すので、新しいBを作成することはできません。 – spookypeanut

答えて

0

私は、BとCを組み合わせるソリューションを考え出しました。別の検索処理アクティビティを使用する代わりに、Bを検索を処理し、その結果を含むダイアログをポップアップさせることができます。それはエレガントではない、私はむしろ別々のものを持っているだろうが、それは私が見つけることができる最高のソリューションです。もちろん、これはうまくいくと仮定していますが、私は現在、(私の特定の状況では)その理由が見えません。

編集:コードは次のとおりです。 EditLocationは、GetLocationMapは、私はちょうど私が上記報告の回避策は、私の場合には動作しないことに気付きましたB

https://github.com/spookypeanut/Wake-Me-At/tree/e0dde4153c375c20bec3d7201b4faac2300f5956

0

これを行う方法も知りたいのですが。私が考えることができる唯一の悩みは、結果を返すためにBにパブリック静的変数を持たせ、その後BがonResume()メソッドで結果を処理して、上記変数を設定した後にC呼び出しをfinish()することです。

関連する問題