Java 如何更改对象';未在其中初始化的活动的s字段

Java 如何更改对象';未在其中初始化的活动的s字段,java,android,android-studio,oop,Java,Android,Android Studio,Oop,这是我第一次构建一个复杂的android应用程序,如果这是一个模糊的问题,我深表歉意(请让我扩展!),但我对如何设计/实现我的应用程序有点迷茫 为了方便起见,假设我在主要活动中有一个可供选择的汽车列表 一旦选择了一辆车,它将带我进入另一个活动(主/明细流活动)中的特定设置页面 我想做的是: 为car创建一个类,将其所有字段作为各种设置 在MainActivity中创建它们的列表 选择车辆后,使用intent 从这里我有点困惑,但我认为在第二个活动中,根据用户选择的设置,Main活动列表中的汽车

这是我第一次构建一个复杂的android应用程序,如果这是一个模糊的问题,我深表歉意(请让我扩展!),但我对如何设计/实现我的应用程序有点迷茫

为了方便起见,假设我在主要活动中有一个可供选择的汽车列表

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

我想做的是:

  • 为car创建一个类,将其所有字段作为各种设置
  • 在MainActivity中创建它们的列表
  • 选择车辆后,使用
    intent
  • 从这里我有点困惑,但我认为在第二个活动中,根据用户选择的设置,Main活动列表中的汽车将更改其字段,即使它在另一个活动中更改了

这是从另一个活动更改MainActivity中初始化的对象列表设置的最佳方法吗?我对是否允许我做第四点感到困惑。

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

使用
startActivityForResult
启动详细信息活动,然后在进行修改后的第二个活动中:

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

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

确定这是有意义的。。这是假设我的类必须实现可序列化而不是可打包的,对吗?另外,在我的第一个活动中,我将在哪里使用onActivityResult方法?我会把它放在startActivity(意向)之后吗;在我的第一个活动中?是的,先生,简单的方法是在数据类中实现可序列化。您可以
覆盖
您喜欢的
onActivityResult
方法,因为这是一个
覆盖
方法,它将在第二个活动
finish()
Mm时执行。我还没有完成尝试,如果我完成了,我会更新您