0

次の UI 階層があります。

FragmentActivity->FragmentTabHostLocalActivityManager -> MyNestedActivity

MyNestedActivity は の単一のタブに配置されますFragmentstartActivityForResult()MyNestedActivityを呼び出すと、Activity正常に起動しますが、onActivityResult()呼び出されません。

しかし、 MyNestedActivity を使用して開くと、正常startActivity()onActivityResult()動作します。

いつフックする必要がありonActivityResult()ますか?FragmentActivityFragment?_ MyNestedActivity に結果をどのようにディスパッチする必要がありますか?

解決済み:

この UI 階層onActivityResult()では呼び出されません。MyNestedActivity を変更するだけFragmentで、階層がFragmentActivity->になりFragmentます。今onActivityResult()は正常に動作します。

4

3 に答える 3

2

onActivityResult()ネストさActivityれた Android による呼び出しではありません。

ネストされたアクティビティでアクティビティの結果を取得する正しい方法は次のとおりです。

  1. startActivityForResult()ホストActivityから (ネストされたものではありません!)、

  2. Activityホストで結果を受け取りActivity

  3. Activity結果をネストされた にディスパッチしActivityます。

于 2012-07-11T06:24:14.433 に答える
0

startActivityForResult()フラグメントから呼び出したい場合は、onActivityResult()メソッドをホスト アクティビティではなくフラグメント クラスに設定する必要があります。詳細については、このリンクを参照してください。

于 2012-04-26T13:09:22.073 に答える
0

このhttps://groups.google.com/forum/?fromgroups=#!topic/android-developers/65oLmvIlgFMの問題があり、アクティビティのlaunchModeをsingleInstaceまたはsingleTask以外のものに変更することで解決しました。

于 2012-10-04T23:19:09.883 に答える