我有一个名为Contact
的对象,其中包含Transactions
类型的arraylist。
我使用activity1
和activity2
将所选联系人(从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方法。