【问题标题】:how to keep track of changes to restart the activitiy in android?如何跟踪更改以重新启动 android 中的活动?
【发布时间】:2013-07-30 18:20:39
【问题描述】:

在我的 android 应用程序中,我有用于只读数据的活动,然后是用于新活动的按钮,您可以在其中编辑来自其他活动的数据。最长的链可以是超过 3 或 4 次按钮按下,以将他们带入可以查看和编辑数据的各种活动。

主要问题是,例如,在活动A 中,我可以看到个人资料数据,然后如果我单击一个按钮,我会转到活动EA 来编辑活动A 中的数据。当我从EA 保存时,我会回到活动A,然后我需要通过重新启动活动来刷新数据。

当它只涉及 1 个按钮时,我可以对此进行简单检查,但在我的应用程序中,我有类似 A 转到 B 转到 C 然后 EC (编辑活动数据@ 987654330@)。如果我单击EC 中的保存,如何继续将活动重新启动到我开始的位置?因此,如果我保存在 EC 中,那么当我单击返回时,它需要在其 on resume 事件期间重新启动 C,然后是 B,然后是 A。此外,如果他们只是最小化应用程序然后再次打开它,则不应发生 onresume 事件,因为那样它会无缘无故地重新启动。

有人有什么好的方法吗?

谢谢。

【问题讨论】:

  • 您是否混淆了视图和活动?如果需要,请检查您的问题并进行编辑。我对您对“回到视图”的描述感到困惑。
  • 是的,我的意思是活动。
  • 我现在想在单击新按钮时将类对象存储在全局列表中,然后当我单击保存时,我只需重新启动该列表中的所有对象,然后将它们全部从列表中删除。
  • 这里仍然有很多混乱。 Also the onresume event shouldn't happen if they just minimize the app and then open it up again, because then it would restart for no reason。没有“最小化”之类的东西,只要将活动带回前台,就会调用onResume()。在 onResume() 中做什么完全取决于你。如果您只想在创建 Activity 时发生某些事情,请在 onCreate() 中执行。如果您希望每次 Activity 进入前台时都发生这种情况,请使用 onResume() 或 onStart()。
  • I would need to refresh the data by just restarting the activity. 是什么意思?

标签: java android events chaining


【解决方案1】:

我会将数据存储在 SQLite 数据库中。

【讨论】:

  • 我已经在这样做了,但我不知道这会有什么帮助。
  • 我不确定我是否遇到了您的问题。您想要存储用户所做的更改并在不同的活动中显示它们 - 但是您在将显示的数据保留为实际数据时遇到了问题。 (编辑):我的解决方案是:在 onStart 中从数据库加载实际数据。当用户导航回此活动时,应始终调用此方法。
  • 是的,主要问题是如何让所有活动始终显示新信息。如果在另一个活动中我对数据库进行了更改,那么当第一个活动恢复时,它仍然必须显示相同的数据。我可以重新启动它,但是如果我单击返回以转到上一个也需要重新启动的活动怎么办。我没有适当的方法来跟踪这一点。
  • @Tomate_Salat 不要误会我的意思,但答案应该提供更多信息,而不仅仅是“使用这个”。下次尝试解释为什么这个解决方案更好,以便未来的观众或多或少知识,发现这个答案很有用。
  • @FabioAntunes 好的,这是有道理的,抱歉。我会记住这一点。
猜你喜欢
  • 2013-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-14
  • 1970-01-01
相关资源
最近更新 更多