使用intent和startActivityForResult更改对象

时间:2014-10-08 13:57:09

标签: java android android-intent android-activity

我有一个名为Contact的对象,其中包含Transactions类型的arraylist。

我使用activity1activity2将所选联系人(从intent中的列表视图)传递到startActivityForResult

在第二个活动中,我创建了一个新的Transaction对象,并将其添加到传递的Contact的事务列表中,使用setResult返回它并使用{{1}检索它}

我的问题是原始的Contact对象没有获得新的Transaction。

发送意图:

onActivityResult

收到意图:

Intent intent = new Intent(this, AddTransactionActivity.class);
        intent.putExtra("contact", selectedContact);
        startActivityForResult(intent, 1);

发回结果:

Bundle b = getIntent().getExtras();

    if(b != null) {
        recievedContact = (Contact)b.getParcelable("contact");
    }

检索结果:

recievedContact.addTransaction(transaction);

    Intent intent = new Intent(this, Contacts_activity.class);
    intent.putExtra("contact", recievedContact);
    setResult(Activity.RESULT_OK, intent);
    finish();
    startActivity(intent);

编辑:我放了一个Log.v(“结果测试”,“成功”);在onActivityResult()中,它没有在logcat中显示,因此似乎永远不会调用我的onActivityResult方法。

0 个答案:

没有答案