2011-09-29 117 views
0

我想知道我是否可以保存一个Activity的两个或多个实例,并可以根据我的要求使用这些实例。我可以在Android中保存活动的不同实例吗?

比如我有两个活动说一个& B.

我从活动一去到B通过检查一些条件。 如果条件满足活动B的第一个实例应该启动另一个实例。

例如 - 在活动B我有一个窗体,它有一些EditTexts,一些CheckBOxes &窗体有两个按钮保存&取消。 如果用户按下保存按钮,以便进入活动A &,则将用户填写的所有表单数据发送到活动A.活动A显示用户填写的所有数据。

但是当用户再次进入活动B时,他应该看到用户以前保存的所有字段。

再次来到活动B后,用户修改数据或填充其他字段,而不是保存他按下取消按钮进入活动A而不发送任何数据。

so活动A只显示以前保存的数据没有修改或额外的。

但是,当我再次去B,所以我应该只能看到用户第一次保存的数据。

我想我可以通过使用SharedPrefernces来做到这一点。 但我想知道我可以保存活动B的两个或更多实例,所以在条件基础上我可以使用所需的一个。

回答

1

你不能真正在你提到的方法中保存Activity的一个实例。你的假设是正确的,即SharedPreferences是你完成任务的一种方式。

在您的示例中,我将让Activity B始终从SharedPreferences中提取其表单数据。另外,当您点击保存按钮时,它会导致表单数据被保存到SharedPreferences中。最后,在活动A中,只要SharedPreferences可用,就会显示数据。

如果您想知道活动B是否通过活动A中的保存或取消退出,则应该使用startActivityForResult启动活动B.然后,在活动B中,在保存或取消按钮的onClick处理程序中调用setResult。最后,活动A将在onActivityResult中获得此结果。

+0

感谢您的回复 – AB1209

+1

如果您觉得我回答了您的问题,请务必接受我的回答。如果没有,也许你可以澄清你的问题多一点,所以我可以帮你。这就是说,如果你真的想要两个“不同的”活动B的,那么你可以做两个单独的活动。一个用于你提到的每种情况。 –

相关问题