I have an object called Contact which contains an arraylist of type Transactions.
I pass the selected contact (from a listview in activity1) to activity2 using intent and startActivityForResult.
In the second activity I create a new Transaction object and add it to the passed Contact's arraylist of transactions, return it using setResult and retrieve it using onActivityResult
My problem is that the original Contact object doesn't get the new Transaction.
Sending intent:
Intent intent = new Intent(this, AddTransactionActivity.class);
        intent.putExtra("contact", selectedContact);
        startActivityForResult(intent, 1);
recieving intent:
Bundle b = getIntent().getExtras();
    if(b != null) {
        recievedContact = (Contact)b.getParcelable("contact");
    }
Sending back result:
recievedContact.addTransaction(transaction);
    Intent intent = new Intent(this, Contacts_activity.class);
    intent.putExtra("contact", recievedContact);
    setResult(Activity.RESULT_OK, intent);
    finish();
    startActivity(intent);
Retrieving result:
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == 1) {
        if(resultCode == Activity.RESULT_OK) {
            Bundle b = data.getExtras();
            if(b != null) {
                selectedContact = (Contact)b.getParcelable("contact");
            }
        } else if (resultCode == 0) {
        }
    }
}
edit: I put a Log.v("result test", "success"); in onActivityResult(), it doesnt show in logcat so it seems my onActivityResult method is never called.
