【发布时间】:2017-08-11 04:10:26
【问题描述】:
我有两个activities,我希望它们能够使用相同的数据但不同的views/layout 来回交互,并且我可以在两个活动中执行相同的操作。
有人建议我使用 startActivity 而不是 startActivityForResult,因为返回调用活动(活动 A)是可选的,但我不认为这是要走的路。
我看了又看,但一切都建议我使用startActivityForResult。如果可能,那么不返回调用活动将如何影响程序?请指教,谢谢。
【问题讨论】:
-
不,如果您使用
startActivityForResult(),则不必返回上一个活动,除非您想处理上一个活动(活动A)中的结果。 -
startActivityForResult 仅在您想要现有活动的 onActivityResult() 方法中的一些更新数据时有用。如果您不需要结果,那么您可以简单地使用 startActivity。如果您想实现其他目标,请解释您需要实现的实际行为。
-
@Avi,要交换的数据是一个 parcelables 列表,两个活动都可以更新两个活动的列表(编辑、删除、添加),我希望它始终保持同步。我认为 startActivityForResult 是要走的路,但事实上我的高级开发人员建议使用 startActivity,我不得不转向这里寻求建议
-
数据列表是否不是从任何数据源(如 DB 或 API)获取的。当您更新列表时,它们不会反映在这些数据源中。
-
您最好使用具有两个片段的单个活动,数据由活动保存。这样,您实际上将处理单个数据变量。
标签: android android-intent android-activity start-activity startactivityforresult