May be like this;
In fragment:
Intent i = new Intent(getContext(), Activity2.class);
i.putExtra("data", data);
getActivity().startActivityForResult(i, REQUEST_CODE);
In activity(2):
Intent resultIntent = new Intent();
resultIntent.putExtra("data", data);
setResult(Activity.RESULT_OK, resultIntent);
finish();
And in activity(1):
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE) {
// Make sure the request was successful
if (resultCode == Acitivity.RESULT_OK) {
String stringData = data.getExtras().getString("data");
// Data can be string, int etc. or serializable
// YourObject object = (YourObject) data.getExtras().getSerializable("data");
}
}
}