Android:onActivityResult()没有调用

时间:2011-04-04 15:28:08

标签: android android-intent tabactivity activitygroup

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

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

ActivityGroup的子活动A(Activity)使用

将意图发送到B(活动)

startActivityForResult(,)。

但是当B活动结束时,在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 ??

请建议..

3 个答案:

答案 0 :(得分:0)

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

实际上......你真的需要TabActivity里面的ActivityGroup吗?!避免它,例如在父TabActivity的每个选项卡中使用简单的TabHost视图,这样TabActivity将切换视图,而不是活动。

答案 1 :(得分:0)

尝试使用包含您当前活动的startActivityForResult的上下文来调用tabgroup activity,然后收听tabgroup activity.

使用它来获取tabGroupActivity

TabGroupActivity parentActivity = (TabGroupActivity)getParent();

然后从中拨打startActivityForResult

parentActivity.startActivityForResult(...);

最后,在tabGroupActivity中添加一个onActivityResult侦听器:

protected void onActivityResult(int requestCode, int resultCode,Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);
    }

答案 2 :(得分:-1)

使用以下代码我希望它能够正常运作。

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