5

我有 3 个活动。A,B和C。A调用B,B调用C,C的结果应该在A中收到。你能建议怎么做吗?我在调用 C 之后使用 finish() 杀死 B。因此,C 的结果应该直接转到 A Activityonresult。可能吗??。请提出您的建议!

4

2 回答 2

8

不要杀死 B,在A开始活动B中使用startActivityForResult和在B开始活动C中使用startActivityForResultthen 在 BonActivityResult

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

    setResult(RESULT_OK, intent);
    finish();
}  

其中intent 是发回的intent C。现在A将在A onActivityResult.

于 2013-04-16T01:41:50.860 回答
2

如果你从 A 呼叫 C 怎么办?类似于:A 调用 B;而不是从 B 调用 C,完成它并让 A 调用 C。

除非 C 的结果影响 B。在这种情况下,您别无选择,只能在 B 中处理 C 的结果,并在需要时从那里设置 A 的结果。

于 2013-04-16T01:37:38.603 回答