0

我面临与 onActivityResult() 相关的问题。

我使用 TabActivity 作为主要 Activity。每个选项卡都是活动组。

ActivityGroup 的子活动 A(Activity) 使用

startActivityForResult( , ) 。

但是当 B Activity 完成时,在 A 中不会调用 onActivityResult()。

一个活动

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

Try to call the startActivityForResult using the context of the tabgroup activity containing your current activity and then listen in the tabgroup activity.

Use this to get the tabGroupActivity:

TabGroupActivity parentActivity = (TabGroupActivity)getParent();

And then call startActivityForResult from it:

parentActivity.startActivityForResult(...);

Finally , put an onActivityResult listener in the tabGroupActivity:

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

TabActivity 中的 ActivityGroup 的问题。我想finishFromChild 将在父活动中被调用(在TabHost 中)。核实。

实际上......你真的需要 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 回答