I have an Activity that calls another Activity, that calls some other Activities.
I send to the last Activity to get a result, and then i send back the result to the fist Activity.
The flow is somthing like
A -> B -> C -> D -> C -> B -> A
With the flow from A to D is made of startActivityForResult and the flow from D to A is made of onActivityResult.
From D to B the requestCode is always the same (the one I decided), but from B to A it suddenly change from my value to a random value (in this particular case 196614).
This is the code I use to call the activity B from activity A:
filterByCatalogue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), CatalogueContainerActivity.class);
startActivityForResult(intent, Defines.FILTER_BY_CATALOGUE);
}
});
(With filterByCatalogue as a FrameLayout)
This is the code I use to call back the activity A:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == Defines.FILTER_BY_CATALOGUE) {
if (resultCode == RESULT_OK) {
Intent intent = new Intent();
intent.putExtra("article", data.getStringExtra("article"));
setResult(RESULT_OK, intent);
finish();
}
}
}
I've searched a lot but I can't find where I go wrong....
Just replace
with
It will work for sure. :)