本文介绍了如何发送结果回previous活动在android系统?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用三个活动ActiviytA,ActivityB和ActivityC.from ActivityA已经onActivtResult功能,我需要导致Activityc在B / W I通过activityB旅游

i use three activity ActiviytA, ActivityB and ActivityC.from ActivityA have onActivtResult function i need result from Activityc in b/w i travel through the activityB

推荐答案

如果我深知,您打开ActivityB从ActivityA,然后从ActivityB ActivityC。你想ActivityA从ActivityC得到的值。

If I understood well, you open ActivityB from ActivityA, and then ActivityC from ActivityB. You want ActivityA to get values from ActivityC.

也许最简单的方法是将值存储为静态的,并直接从课堂上阅读它们。

Probably the easiest way is to store the values as static, and read them directly from the class.

如果你想使用StartActivityForResult(这样你就可以从的onActivityResult得到的结果),你应该让ActivityB从C收到了效果,然后进行ActivityB结果传递给ActivityA:

If you want to use StartActivityForResult (so you can get the results from onActivityResult), you should make ActivityB receive the results from C, and then make ActivityB pass the results to ActivityA:

ActivityA实现ResultsReciever。然后启动活动B,并检索与

ActivityA implements ResultsReciever. Then start Activity B, and retrieve the calling activity (ActivityA) with

interface ResultsReciever{
    executeSomething(ArrayList values);
}

声明ActivityA实现接口:

Declare ActivityA implementing the interface:

public class ActivityA extends Activity implements ResultsReciever

在活动B,在OnStart方法:

On Activity B, at the onStart method:

ResultsReciever caller = (ResultsReciever)getCallingActivity();

然后ActivityB开始ActivityC与StartActivityForResult()。在ActivityB中的onActivityResult你可以调用,则:

Then ActivityB starts ActivityC with StartActivityForResult(). In the onActivityResult in ActivityB you can call then:

caller.executeSomething(whatever);

这篇关于如何发送结果回previous活动在android系统?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-27 16:18