Android:保留活动的数据,在5个不同的实例中创建相同的活动



我有一个android应用程序与2个活动和第一个是一个TableView持有5项的代码不是在xml。在xml中,只有一个带id的TableLayout。

我想知道如何在一个活动中保持数据。

场景:

  1. 点击tableView中的一行会打开一个包含大量数据的新活动

  2. 点击返回按钮将直接破坏活动,而不是运行onSaveInstanceState,所以我的数据丢失。

  3. 当再次点击"相同"行时,活动被重新创建!

所以我的问题有两个:

i)如何不破坏第二次活动的所有数据?我试过onSaveInstanceState/onRestoreInstanceState/onCreate等等,总是空的,被销毁!

ii)是否有可能启动活动,并有一个"唯一"的活动实例在表中的每一行?所以这里的事情是表中的每一行现在将开始第二个活动的新活动,我不希望每一行使用"相同"的活动,我需要创建5个不同的完全相同的活动与不同的数据或?

希望你能理解我的问题。

据我所知,当你回到活动a时,你想保存活动B的实例,这样你就可以在相同的状态下再次启动活动B。这是不可能的,因为当前活动的回按finish()方法被调用。

我想到的一个简单的解决方案是,onBackPressed的Activity B你可以更新一个bundle(这将出现在Activity A唯一的每一行)对你的Activity B的当前状态。下次当你打开Activity B发送这个bundle与它和在onCreate的Activity B处理这个bundle显示当前活动的最后保存的实例。通过这种方式,您可以对每一行使用相同的活动。不需要多次复制相同的活动

最新更新