在Backstack中保留数据

时间:2014-04-26 23:24:40

标签: android android-intent android-activity back-button

我有一个应用程序从服务器获取基于唯一ID(uid)的选项列表。当您单击选项时,它会根据uid提供另一个列表,就像在第一个活动中一样。它将选项的uid传递给下一个活动,以便它可以获取数据。当你按下时,活动会忘记它的uid,并抛出空指针异常,因为它尝试使用null uid进行提取。我如何获得以前的活动来保存数据,因为它位于后台,或者如何将数据从活动2传递到背面的活动1,以便我可以给它它的uid?

谢谢!

2 个答案:

答案 0 :(得分:0)

当您开始第二个活动时,第一个活动将被销毁。当你返回时,第一个活动被初始化,但这是一个新实例。

启动第二个活动时,可以使用startActivityForResult()。然后让第二个活动在完成后将UID传回第一个活动。

或者您可以将Uid保存在共享首选项,应用程序对象或静态类/单例中。

答案 1 :(得分:0)

谷歌开发者有一篇关于保存活动状态的文章: here