web-dev-qa-db-ja.com

Android:フラグメントから呼び出すときにアクティビティからリターン結果を取得するにはどうすればよいですか?

以下を使用して別のアクティビティを呼び出すフラグメントがあります。

ProductEditionMaintenanceActivity.class);
Bundle extras = new Bundle();
extras.putString("productCode", productCode);
extras.putInt("productEditionID", 0);
intent.putExtras(extras);
getActivity().startActivityForResult(intent, 1);

アクティビティから戻ります。

Intent resultIntent = new Intent();
setResult(Activity.RESULT_OK, resultIntent);
finish();

フラグメントで以下を使用してみました

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
    //Do something
}

ただし、作成されたインテントはフラグメントの親アクティビティの参照を通過したため、フラグメントのonActivityResultは呼び出されないと思います。その場合、フラグメントが呼び出し先アクティビティから結果を取得するために何をする必要がありますか?

11
user2804013

フラグメントonActivityResultは、ホストアクティビティonActivityResultの後で、super.onActivityResultはホストアクティビティから呼び出されます。詳細については、 https://stackoverflow.com/a/6147919/552902 を参照してください

16
JRomero