onActivityResult の requestCode が間違っています 質問する

onActivityResult の requestCode が間違っています 質問する

フラグメントから新しいアクティビティを開始します

startActivityForResult(intent, 1);

フラグメントの親アクティビティで結果を処理したい場合:

@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。ドキュメントにはこれについて何も記載されていません。何かアイデアはありますか?

ベストアンサー1

startActivityForResult()から呼び出していますFragment。これを行うと、は を所有するrequestCodeによって変更されます。ActivityFragment

resultCodeアクティビティを正しく実行したい場合は、次のことを試してください。

変化:

startActivityForResult(intent, 1);

に:

getActivity().startActivityForResult(intent, 1);

おすすめ記事