本文介绍了onActivityResult()意图数据始终为null的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有人可以告诉我为什么 Intent数据
总是为空吗?
Can somebody tell my why the Intent data
is always null?
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == UPDATE_PROFILE_REQUEST_CODE) {
if (data != null) {
User user = (User) data.getExtras().getSerializable(USER_DATA_EXTRA);
if (user != null) {
notifyNeedUpdate(user);
}
} else {
Log.e("Dev", "data is null");
}
}
}
}
这是我设置结果的方式:
and this is how I set the result:
setResult(RESULT_OK, getIntent().putExtra(ProfileActivity.USER_DATA_EXTRA, constructUser()));
constructUser()
只会创建我需要的对象.
constructUser()
just creates an Object I need.
我总是得到 Log.e("Dev",数据为空");
.
推荐答案
在致电
setResult(RESULT_OK, getIntent().putExtra(ProfileActivity.USER_DATA_EXTRA, constructUser()));
即您应该在 onPause
, onStop
, onDestroy
, finish
之前调用 setResult
.等等
i.e. you should call setResult
before onPause
, onStop
, onDestroy
, finish
... etc
这篇关于onActivityResult()意图数据始终为null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!