我正在从我的片段开始一个新的活动
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().
requestCode
startActivityForResult()
我得到了类似的东西0x40001,0x20001设置了随机的更高位。文档对此只字未提。有任何想法吗?
0x40001
0x20001
您正在startActivityForResult()从您的Fragment. 执行此操作时,拥有 的requestCode会更改。Activity``Fragment
Fragment
Activity``Fragment
如果你想resultCode在你的活动中得到正确的,试试这个:
resultCode
改变:
到:
getActivity().startActivityForResult(intent, 1);