1

我在活动 A 中创建一个意图,然后使用 Android 中 ListView 的 setOnItemClickListener 的 startActivityForResult 启动活动 B。

Intent detailsIntent = new Intent(MyTeamDetailsActivity.this, MatchMediaActivity.class);
                                        detailsIntent.putExtra("data", data);
                                        detailsIntent.putExtra("hasSmoovz",mSmoovz);
                                        detailsIntent.putExtra("uitslagen", true);
                                        startActivityForResult(detailsIntent, MATCH_MEDIA_REQUEST);

问题是在启动活动时,它立即进入活动A的onActivityResult部分,但resultCode = 0; 然后,在完成之后,它会加载活动 B 的 onCreate 等。

以下代码是我的 onActivityResult:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == MATCH_MEDIA_REQUEST) {
            if (resultCode == RESULT_OK) {
                refreshData();
            }
        }
    }

这是我完成活动 B 并给它一个结果代码的简单代码:

@Override
    public void onBackPressed() {
        setResult(RESULT_OK);
        finish();
    }

知道为什么会发生这种情况吗?我以前从未见过这种情况。提前非常感谢。

4

1 回答 1

1

这是因为我在清单中的活动是 singleTask:https ://developer.android.com/guide/topics/manifest/activity-element.html#lmode

(感谢@SteveBarret)

于 2013-08-19T14:44:22.957 回答