Android三项活动,将数据从第三个活动传递到父活动

时间:2014-10-28 23:20:52

标签: android android-intent start-activity pass-data

我有3项活动。假设A,B,C。主要活动是A。

我想从A开始B然后从B开始C,然后在C打开时关闭B.最后关闭C传递数据到A。

如何使用Intent和startActivityForResult来实现这一点?用后两种方法可以吗?

感谢。

3 个答案:

答案 0 :(得分:3)

假设您正在使用按钮,当您单击按钮以启动活动C时,您可以完成活动B,并在活动A中获取操作。

对活动A使用onActivityResult()。在此pont,您可以使用startActivityForResult()启动活动C.

这样,当你完成C时,你可以再次使用onActivityResult()将数据传递给A.

答案 1 :(得分:1)

Renan Lopes Ferreira的回答说明了这一点。欢呼声。

答案 2 :(得分:0)

您始终可以使用Intents从A和C中的B开始B. 当您从堆栈中删除A时,C无法使用startActivityforResult()和onActivityResult直接将数据传递给A. (不是很明显,A甚至不存在于内存中)。 因此,对于A访问C的数据,您必须将C的数据存储在某处,以便A可以在下次启动时访问它。现在,这里的另一个场景是将其存储为持久性或非持久性数据。如果您希望数据是持久的,建议使用共享首选项,数据库等,如果您希望它是非持久性的,那么您可以使用Singleton等。

参考:http://developer.android.com/guide/faq/framework.html