【发布时间】:2017-06-10 16:30:04
【问题描述】:
我在返回带有结果的 Activity 时遇到了一个奇怪的问题,我正在从这样的适配器传递 startActivityForResult 的 Intent:
Intent i = new Intent(activity, EditInfoActivity.class);
i.putExtra("id", list.get(position).getID());
activity.startActivityForResult(i, 100);
在第二个活动中,即在我的情况下,在 EditInfoActivity 中单击Button,我正在为第一个活动设置结果,如下所示:
Intent i = getIntent();
i.putExtra("isDataChange", isDataChange);
setResult(100, i);
finish();
在 Activity 的 onActivityResult 方法中,我能够得到结果代码,但得到 Intent null。
为什么?有人对此有任何想法,请分享。
在活动中:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 100) {
//Here data is null and app crash
if (data.getExtras() != null && data.getBooleanExtra("isDataChange", false)) {
recreate();
}
}
}
【问题讨论】:
标签: android android-intent onactivityresult