0

onActivityResult()に関連する問題に直面しています。

TabActivityをメインアクティビティとして使用します。各タブはactivityGroupです。

ActivityGroupのサブアクティビティA(Activity)は、を使用してインテントをB(Activity)に送信します。

startActivityForResult(、)。

ただし、Bアクティビティが終了すると、onActivityResult()はAで呼び出されません。

アクティビティ

Intent intent = new Intent(A.this, B.class);
startActivityForResult(intent, 1);

Bアクティビティ

Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();

なにが問題ですか?

TabActivity、ActivityGroup、またはFlagのため??

ご意見をお聞かせください..

4

3 に答える 3

0

現在のアクティビティを含むstartActivityForResultのコンテキストを使用して を呼び出してから、tabgroup activitytabgroup activity.

これを使用して次を取得しtabGroupActivityます。

TabGroupActivity parentActivity = (TabGroupActivity)getParent();

そして、そこstartActivityForResultから呼び出します:

parentActivity.startActivityForResult(...);

最後に、onActivityResultリスナーを tabGroupActivity に配置します。

protected void onActivityResult(int requestCode, int resultCode,Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);
    }
于 2015-01-24T18:39:29.113 に答える
0

TabActivity 内の ActivityGroup の問題。親アクティビティ(TabHost内)でfinishFromChildが呼び出されると思います。チェックしてください。

実は... TabActivity 内に ActivityGroup が本当に必要ですか?! たとえば、親の TabActivity のすべてのタブで単純な TabHost ビューを使用します。このように、TabActivity はアクティビティではなくビューを切り替えます。

于 2011-04-04T15:49:49.137 に答える
-1

以下のコードを使用してください。うまくいくことを願っています。

 Intent intent = new Intent(getParent(), B.class);
    startActivityForResult(intent, 1); 
于 2012-05-03T04:56:32.940 に答える