【问题标题】:Passing Data to an Activity without Starting the Receiving Activity (Android)在不启动接收活动的情况下将数据传递给活动 (Android)
【发布时间】:2018-07-21 12:10:51
【问题描述】:

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

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

我不确定如何处理,因为使用 Intents 会导致直接进入活动,我也不确定如何保存联系人列表活动中的 ArrayList。

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

【问题讨论】:

  • 我不确定您真正想要实现什么。 intent.putExtra(STR, STR) 可以帮助吗?这样您就可以在不启动 Activity 的情况下将数据保存到 Intent 中。
  • 应该是 -intent.putExtra(STR KEY, Contact Object)。

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      • 2011-11-11
      • 1970-01-01
      • 2022-06-10
      • 2023-01-12
      相关资源
      最近更新 更多