来自子Activity的StartActivityForResult()

时间:2014-04-29 06:16:49

标签: android

我有3项活动。 Activity A是父活动,Activity B作为Activity A的子活动启动。现在,当我从StartActivityForResult调用Activity B Activity C时,只调用了Activity A's onActivityresult。我想在Activity B's OnActivityResult中获得结果。

Intent it = new Intent(B.this, C.class);
getParent().startActivityForResult(it, REQUEST_CODE);

如果我这样打电话。

startActivityForResult(it, REQUEST_CODE);

onActivityResult都没有调用。

任何帮助都会得到赞赏。

2 个答案:

答案 0 :(得分:0)

只需使用以下代码行从B调用活动C.

Intent it = new Intent(B.this, C.class);
startActivityForResult(it, REQUEST_CODE);

您将在“B”活动中获得结果onActivityResult();

答案 1 :(得分:0)

谢谢你的帮助。 我解决了我的问题。这是由于ActivityGroup。我使用这些方法。

Intent it = new Intent(B.this, C.class);
getParent().startActivityForResult(it, REQUEST_CODE);

这将为您提供活动A的OnActivityResult中的结果。你需要从活动A的结果中调用它。

if (requestCode == 1) {     
            ActivityB activity = (ActivityB)getLocalActivityManager().getCurrentActivity();
            activity.onActivityResult(requestCode, resultCode, intent);
        }

这将调用Activity B的onActivityResult。