Android:使用搜索API实现startActivityForResult的等效功能

Android:使用搜索API实现startActivityForResult的等效功能,android,Android,我有一个从搜索api开始的活动。我希望它能够“返回”一些值到启动搜索时正在运行的活动,类似于startActivityForResult,但我看不出如何执行。有什么建议吗 活动A->(startActivity)-> 活动B->(搜索)->活动C ->(返回)->活动B 目前,我正在使用这些值启动活动B的一个新实例。这是可行的,但是活动堆栈不是它应该的方式。也就是说,从B向后按将通过C、B、A返回,而不仅仅是A 有什么建议吗?我也想知道怎么做。我能想到的唯一困难是在B中使用公共静态变量将结果传回

我有一个从搜索api开始的活动。我希望它能够“返回”一些值到启动搜索时正在运行的活动,类似于startActivityForResult,但我看不出如何执行。有什么建议吗

活动A->(startActivity)-> 活动B->(搜索)->活动C ->(返回)->活动B

目前,我正在使用这些值启动活动B的一个新实例。这是可行的,但是活动堆栈不是它应该的方式。也就是说,从B向后按将通过C、B、A返回,而不仅仅是A


有什么建议吗?

我也想知道怎么做。我能想到的唯一困难是在B中使用公共静态变量将结果传回来,然后在设置所述变量后使用C调用finish(),B在onResume()方法中处理结果。

我也想知道如何做到这一点。我能想到的唯一困难是在B中使用公共静态变量将结果传回来,然后在设置所述变量后使用C call finish(),B在onResume()方法中处理结果。

我想出了一个解决方案:将B和C结合起来。而不是使用单独的搜索处理活动,我可以让B处理搜索,并弹出一个对话框,其中的结果。这感觉不太优雅,我更愿意分开,但这是我能找到的最好的解决方案。当然,这是假设它是有效的,但我目前看不出它不起作用的原因(在我的特殊情况下)

编辑:这是代码。EditLocation是A,GetLocationMap是B


我想出了一个解决方案:将B和C结合起来。我可以让B处理搜索并弹出一个对话框,其中包含搜索结果,而不是单独的搜索处理活动。这感觉不太优雅,我更愿意分开,但这是我能找到的最好的解决方案。当然,这是假设它是有效的,但我目前看不出它不起作用的原因(在我的特殊情况下)

编辑:这是代码。EditLocation是A,GetLocationMap是B


我刚刚意识到,我上面报告的解决方法在我的案例中不起作用:A->B实际上使用startActivityForResult,而不是startActivity,因此我需要传回原始B的结果,所以我不能创建一个新的。我刚刚意识到我上面报告的解决方法在我的案例中不起作用:a->B实际上使用startActivityForResult,而不是startActivity,所以我需要从原始B传回结果,所以我不能创建一个新的。