小编典典

onActivityResult 中的 requestCode 错误

all

我正在从我的片段开始一个新的活动

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().

我得到了类似的东西0x400010x20001设置了随机的更高位。文档对此只字未提。有任何想法吗?


阅读 65

收藏
2022-04-02

共1个答案

小编典典

您正在startActivityForResult()从您的Fragment. 执行此操作时,拥有 的requestCode会更改。Activity``Fragment

如果你想resultCode在你的活动中得到正确的,试试这个:

改变:

startActivityForResult(intent, 1);

到:

getActivity().startActivityForResult(intent, 1);
2022-04-02