当我将它们发送到新的Android Activity时,如何更新类对象中的数据?

时间:2013-05-24 19:25:36

标签: android android-intent android-activity

我有2项活动(ActivityA和ActivityB) 在ActivityA中,我正在创建一个新的Object Game,里面有一个ArrayList 游戏=新游戏();

我启动ActivityB

public void startActivityB(View view){

    Intent i = new Intent(this,ActivityB.class);
    i.putExtra("Game", game);
    startActivity(i);

}

在活动B中,我获取对象,访问它们的ArrayList并删除一些元素。 (我在删除前后检查了ArrayList,并成功删除了它们) 问题是当我完成ActivityB并再次启动它时,删除的元素仍然在ArrayList上。

2 个答案:

答案 0 :(得分:2)

您应该使用startActivityForResult启动活动B,并通过onActivityResult

将经过修改的ArrayList传回ActiviyA

答案 1 :(得分:2)

这是因为您正在编辑重复对象的两个不同实例。考虑在活动A中将其设置为静态,并直接在活动B中访问它。

OR

考虑您的应用的MVC结构。您不应该跨活动传递大量数据的多个版本。标准化访问和修改数据的方式。