如何从未初始化的活动中更改对象的字段

问题描述

这是我第一次构建一个复杂的android应用程序,因此我很抱歉这是一个模糊的问题(请问我扩展!),但是我对如何设计/实现我的应用程序有些迷惑。

为了简化起见,请说一下我在主要活动中可以选择的汽车清单。

一旦选择了汽车,它将带我进入另一个活动(主/详细流程活动)中的特定设置页面

我想做的是以下事情:

  • 使用所有字段作为各种设置为汽车创建一个
  • 在MainActivity中创建它们的列表
  • 一旦选择了汽车,请使用intent将该特定汽车传递到主/详细流程活动
  • 从这里开始,我有些困惑,但是我认为在第二项活动中,根据用户选择的设置,即使在其他活动中进行了更改,MainActivity列表中的汽车的字段也会更改?

这是从另一个活动更改在MainActivity中初始化的对象列表的设置的最佳方法吗?如果允许我做第4点,我会很困惑。

解决方法

您需要将对象返回到第一个活动,并使用新数据更新列表。

通过startActivityForResult开始详细活动,然后在进行修改后进入第二个活动:

Intent returnIntent = new Intent();
returnIntent.putSerializableExtra("result",theObject);
setResult(Activity.RESULT_OK,returnIntent);
finish();

然后,在第一个活动中,使用onActivityResult方法检索修改后的对象。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...