我正在从我的片段开始一个新的 Activity
startActivityForResult(intent, 1);
并想在Fragment的父Activity中处理结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(TAG, "onActivityResult, requestCode: " + requestCode + ", resultCode: " + resultCode);
if (requestCode == 1) {
// bla bla bla
}
}
问题是我从来没有收到刚刚发布到
requestCode
的startActivityForResult()
。我得到了类似
0x40001
,0x20001
等的东西,并随机设置了更高的位。该文档没有对此发表任何评论。有任何想法吗? 最佳答案
您正在从startActivityForResult()
调用Fragment
。执行此操作时,requestCode
将由拥有Activity
的Fragment
更改。
如果您想在 Activity 中获取正确的resultCode
,请尝试以下操作:
改变:
startActivityForResult(intent, 1);
到:
getActivity().startActivityForResult(intent, 1);
关于android - onActivityResult中的requestCode错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10564474/