我的问题是在使用“后退”按钮返回活动时恢复复杂的活动相关数据。 Activity A有一个ListView,它连接到ArrayAdapter作为其数据源 - 这发生在onCreate()中。
谢谢,Rob
答案 0 :(得分:1)
活动A有一个ListView 连接到ArrayAdapter作为 其数据来源
请注意,ArrayAdapter
不是持久存储。
默认情况下,如果我转到活动B. 然后按“返回”返回 活动A,我的清单保持不变 有了所有的数据还是我得到的 视觉“复制”的屏幕,但 数据丢失了吗?
这取决于。
通常,Activity
A没有去过任何地方。但是,如果用户长时间离开应用,Android可能会销毁Activity
A,在活动堆栈中留下占位符,以释放内存。如果稍后用户按下BACK,Android将重新创建Activity
A.在这种情况下,您需要通过使用持久性存储(文件,数据库等)或使用{来挂起数据{1}}和onSaveInstanceState()
。
您可以在“活动类说明”的Activity Lifecycle部分找到更多信息。
答案 1 :(得分:0)
除非您在启动活动B时主动finish()
活动A,否则当您返回活动时,其数据和状态都将存在,无论您堆叠多少活动。