在不启动接收活动的情况下将数据传递给活动(Android)

时间:2018-02-11 02:09:05

标签: java android arrays android-studio android-intent

我正在创建一个联系人应用程序,向用户显示以下按钮,“创建新联系人”,“编辑联系人”,“删除联系人”,“显示联系人”和“完成”。

单击“编辑”,“删除”或“显示”时,必须输入/显示“联系人列表”活动。 在“创建新联系人”活动中创建联系人时,我想将Contact对象(它实现Parcelable)发送到联系人列表活动中的ArrayList而不启动它,一旦添加了联系人,我希望返回MainActivity。

我不确定如何解决这个问题,因为使用Intents导致直接进入活动,我也不确定如何使联系人列表活动中的ArrayList保存。

有什么建议吗?我不需要确切的代码,但我不确定要完成这项任务的方向。

2 个答案:

答案 0 :(得分:1)

在我看来,数据模型应该存在于应用程序的上下文中,而不是活动的上下文中。然后可以从所有活动访问数据。现在,您需要通过intent传递的唯一对象是数据集的ID。

这个一般原则还可以实现您想要做的事情,开始一项新活动,进行一些数据操作并将新打算发送到下一个活动而不显示前一个活动。

答案 1 :(得分:-1)

存在一个逻辑问题:如果没有Activity个实例,为什么需要将数据发送到(甚至不存在)?

或者,如果您希望整个用户生命周期中存在数据,则需要将编辑数据(ADD,EDIT,REMOVE)保存在本地存储或数据库等某个位置。在启动演示者活动时(从接收到的数据并将其呈现给用户),从持久层获取数据(然后将其解析为特定对象)。