繁体   English   中英

如何在 Android 中的多个活动和片段中保留对象?

[英]How to keep objects throughout multiple activities and fragments in Android?

我创建了一个“汽车”类,并且在我的 MainActivity 中创建了一个实例化的汽车列表。 我也有一个带有 ItemListActivity 的主/细节流,它应该能够从 MainActivity 接收特定的汽车。

这个主/细节流作为一个设置菜单,其中有多个片段作为不同类型的设置(构建、引擎等) 在此处输入图片说明

然后,主/细节流需要获取对编辑文本所做的所有更改,并更新它收到的 Car 的字段,然后将其发送回MainActivity。

我不确定这是否是 1) 可能或 2) 解决此问题的最佳方法。 我应该在 MainActivity 中保留对象列表吗? 有没有更好的方法来保留将在全球范围内使用的对象?

我建议在您的活动中使用ViewModel并从您的片段中获取ViewModel实例,如下所示。

carViewModel = ViewModelProviders.of(getActivity()).get(CarViewModel.class);

CarViewModel可能具有构建汽车的必要元素,并且您可以根据每个片段更新位于您的 Activity 中的ViewModel

CarViewModel可能有一个函数调用buildCar ,当您完成从不同片段构建汽车时可以触发它。 ViewModel将绑定到活动的生命周期,因此如果您关闭活动,信息将丢失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM