1
我在活动A中创建了一个intent,然后从Android的ListView的setOnItemClickListener中用startActivityForResult启动了一个活动B.从Android的ListView的setOnItemClickListener调用startActivityForResult
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;那么,这样做之后,然后加载的onCreate,活动B.
的等下面的代码是我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();
}
任何想法为什么会发生这种情况?我从来没有见过这个。 非常感谢。
您已设置活动A作为launchMode singleInstance或singleTask在清单? –
@SteveBenett是的,它是'singleTask' – noloman